整理的 Kubernetes (k8s) 常用命令整理

1. 基本集群管理命令

查看集群信息

命令:kubectl cluster-info

解析:用于查看 Kubernetes 集群的基本信息,例如 API Server 和 DNS 的访问地址。

检查当前上下文(在k8s中,上下文(context)是集群信息、用户和命名空间的组合这样一个概念。)

命令:kubectl config current-context

解析:用于显示当前使用的集群上下文,尤其在多集群环境下很重要。

切换上下文

命令:kubectl config use-context <context-name>

解析:切换到其他上下文以管理不同的集群。

查看所有上下文

命令:kubectl config get-contexts

解析:列出所有的集群上下文及相关配置信息。


2. 节点与集群资源查看

查看所有节点

命令:kubectl get nodes

解析:列出当前集群中的所有节点及其状态信息。

查看节点详细信息

命令:kubectl describe node <node-name>

解析:获取指定节点的详细状态,包括容量、分配的资源和当前负载情况。

查看集群资源使用情况

命令:kubectl top nodes

解析:显示每个节点的 CPU 和内存使用情况,(需要部署 Metrics Server)。


3. 管理 Pod

查看所有 Pod

命令:kubectl get pods -A  -o wide

解析:列出所有 Pod 的基本信息,显示所有命名空间下的 Pod及分布节点ip,name等信息。

查看某命名空间的 Pod

命令:kubectl get pods -n <namespace>

解析:指定命名空间查看 Pod,可以加 -o wide 查看更多细节。

查看 Pod 详细信息

命令:kubectl describe pod <pod-name>

解析:列出指定 Pod 的详细信息,包括事件、环境变量、容器信息等。

查看 Pod 日志

命令:kubectl logs <pod-name>

解析:获取 Pod 的标准输出日志,常用于调试。

通过shell进入 Pod 容器终端

命令:kubectl exec -it <pod-name> -- /bin/bash

解析:启动一个交互式终端,与容器内部直接交互。

像这种报错进不去,可能是因为容器所基于的镜像做的非常轻量,不包含完整的shell环境,可以通过精简的shell进去

命令: kubectl exec -it <pod -name> -- /bin/sh

删除 Pod

命令:kubectl delete pod <pod-name>

解析:删除指定 Pod,常用于重新调度或解决问题。

这里启动时间已经修改,证明我们的pod已经被删了,但是因为我们的pod控制器类型这里是replicaset,所以删除过后他又自动创建了一个新的pod


4. 部署与管理工作负载

查看部署信息

命令:kubectl get deployments -A

解析:显示当前集群中的所有 Deployment。

创建或更新资源

命令:kubectl apply -f <file.yaml>

解析:使用 YAML 文件创建或更新资源,是声明式管理的核心命令。

创建Deployment

命令:  kubectl create deployment <pod_name> --image=<image> --replicas=<副本数>

解析: 创建Deployment类型的控制器,并指定镜像和副本数

查看 Deployment 详细信息

命令:kubectl describe deployment <deployment-name>

解析:列出 Deployment 的详细信息,如策略、副本数、条件等。

缩放 Deployment 副本数

命令:kubectl scale deployment <deployment-name> --replicas=<number>

解析:动态调整 Deployment 的副本数。

查看 Deployment 历史

命令:kubectl rollout history deployment <deployment-name>

解析:列出 Deployment 的历史版本信息。

回滚 Deployment

命令:kubectl rollout undo deployment <deployment-name>

解析:回滚到上一个版本,解决更新后出现的问题。

5. 命名空间管理

查看所有命名空间

命令:kubectl get namespaces(缩写ns)

解析:显示所有命名空间。

创建命名空间

命令:kubectl create namespace <namespace-name>

解析:用于隔离不同的环境或应用。

删除命名空间

命令:kubectl delete namespace <namespace-name>

解析:删除指定命名空间及其所有资源。


6. 服务与负载均衡

查看 Service

命令:kubectl get services(简写svc)

解析:显示当前集群中的 Service 信息,包括 ClusterIP 和类型。

查看 Service 详细信息

命令:kubectl describe service <service-name>

解析:查看指定 Service 的详细配置和状态。

测试 Service 连接

命令:kubectl port-forward <pod-name> <local-port>:<container-port>

解析:将本地端口映射到 Pod 的端口,测试访问服务。


8. 调试与排错

排查 Pod 问题

命令:kubectl describe pod <pod-name>

解析:通过事件日志查看 Pod 创建和运行中可能遇到的错误。

Events:主要显示镜像在创建过程,拉取镜像,启动等,

检查资源状态

命令:kubectl get events

解析:列出所有资源的事件,用于排查问题。

测试网络连通性

命令:kubectl exec -it <pod-name> -- ping <ip-address>

解析:在 Pod 中测试网络是否畅通。(部分镜像可能没有ping命令)


9. 备份与恢复

导出资源配置

命令:kubectl get <resource-type> <resource-name> -o yaml > backup.yaml

解析:导出资源配置,保存为 YAML 文件以备后续恢复。

恢复资源配置

命令:kubectl apply -f backup.yaml

解析:从 YAML 文件恢复资源。


 

<think>好的,我现在需要回答用户关于Kubernetes常用命令列表的请求。首先,我要确认用户的具体需求是什么。用户提到“常用命令”,可能希望得到一个分类清晰的列表,方便日常操作。根据用户提供的引用资料,我需要整合引用中的信息,同时补充其他常用命令,确保内容全面且结构合理。 首先,我需要回顾系统级指令。用户要求所有行内数学表达式用$...$,但这里不涉及数学公式,可能不需要处理。独立公式需要$$...$$,但同样不适用。确保LaTeX语法正确,但这里主要处理命令列表,可能用代码块展示命令。使用中文回答,生成相关问题,并在引用处添加标识。 用户给出的三个引用中,引用1列举了apply、get pods、describe pod等命令;引用2提到了集群管理、kubectl的作用、查看版本;引用3补充了delete和rollout restart。我需要将这些信息整合到不同的分类中,比如资源管理、部署操作、故障排查等。 接下来,我需要确定回答的结构。通常,Kubernetes命令可以按功能分类,比如基础操作、资源管理、调试排错、配置管理、扩展命令等。每个类别下列举常用命令及示例,参考引用中的例子,如kubectl apply,kubectl get,kubectl describe等。同时,需要补充其他常用命令如logs、exec、edit等,这些在引用中没有提到,但属于常用范畴,可能需要根据我的知识添加,但要确保准确性。 需要注意引用标识的正确位置。例如,在提到apply命令时,引用1和引用2都有相关内容,可能需要合并引用标识。但根据示例,引用标识应放在相关段落末尾。例如,在描述查看pod详细信息时,引用1中的命令,所以在该句末尾添加[^1]。 然后,检查每个命令的正确性,确保语法正确。例如,kubectl get pods -n namespace是否正确,是否需要解释命名空间参数。考虑到用户可能需要基本用法,加上示例会更有帮助,如使用-n指定命名空间。 另外,用户可能对命令的用途不太清楚,所以每个命令需要简要说明用途。例如,kubectl describe用于查看资源详细信息,kubectl logs查看容器日志等。 生成相关问题部分,需要根据回答内容提出,可能涉及命令分类、具体使用场景、如何排错、如何管理资源等。例如,如何查看Pod日志?如何更新资源?如何删除部署? 最后,确保回答结构清晰,分点列出,使用代码块包裹命令,引用标识正确,并且语言简洁明了。需要避免直接复制引用内容,而是整合并结构化呈现,同时补充必要的信息,使回答更全面有用。</think>以下是Kubernetes常用命令的分类整理,基于实际运维场景整理[^2][^3]: ### 一、基础资源操作 ```bash # 查看集群版本 kubectl version # 查看节点状态 kubectl get nodes # 查看所有命名空间的Pod kubectl get pods --all-namespaces ``` ### 二、部署管理 ```bash # 创建/更新资源(YAML文件部署) kubectl apply -f deployment.yml # 查看部署状态 kubectl get deployment -n [命名空间] # 重启部署(触发滚动更新) kubectl rollout restart deployment/[部署名称] -n [命名空间][^3] ``` ### 三、故障排查 ```bash # 查看Pod详细信息(含事件日志) kubectl describe pod [pod名称] -n [命名空间][^1] # 查看容器日志(实时) kubectl logs -f [pod名称] -c [容器名称] # 进入容器终端 kubectl exec -it [pod名称] -- /bin/bash ``` ### 四、资源管理 ```bash # 删除资源 kubectl delete -f config.yml # 通过配置文件删除 kubectl delete pod [pod名称] # 直接删除资源[^3] # 编辑资源配置(实时生效) kubectl edit deployment/[部署名称] ``` ### 五、服务管理 ```bash # 查看服务暴露端口 kubectl get svc -n [命名空间] # 端口转发调试 kubectl port-forward svc/[服务名称] 8080:80 ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值