管理和维护一个健康的 Kubernetes 集群,离不开对 kubectl 命令行工具的熟练使用。面对繁多的资源类型和命令选项,你是否偶尔会忘记某个具体命令的语法?本文将为你梳理一份在日常工作中最高频使用的 kubectl 命令速查表,涵盖集群信息、Pod、Service、Deployment 等核心资源的管理,帮助你快速定位并执行所需操作。
1. Kubernetes 集群信息查询
了解集群的“健康”状况和自身配置是运维的第一步。以下命令能帮你快速获取 API 服务器、客户端版本以及当前的集群配置。
| 命令 |
描述 |
kubectl version |
查看 Kubernetes API 服务器版本和 kubectl 客户端版本。 |
kubectl config view |
以 YAML 格式显示当前 Kubernetes 服务器的配置信息。 |
kubectl help |
查看所有可用的 kubectl 命令列表及其帮助信息。 |
2. Pod 管理
作为 Kubernetes 中最小的可部署单元,Pod 的管理是日常运维的基础。从创建、查看日志到进入容器内部,这些命令使用频率极高。
| 命令 |
描述 |
kubectl get pods |
查看集群中所有 Pod 的列表。 |
kubectl create -f pod.yaml |
根据指定的 YAML 配置文件创建一个新的 Pod。 |
kubectl delete pod my-pod |
删除名为 my-pod 的 Pod。 |
kubectl logs my-pod |
查看 Pod my-pod 的最新日志信息。 |
kubectl exec my-pod -- whoami |
在 my-pod(仅含单个容器)内部执行 whoami 命令。 |
kubectl exec my-pod -c my-container -- whoami |
在 Pod my-pod 中的 my-container 容器内部执行 whoami 命令。 |
kubectl describe pod my-pod |
显示 Pod my-pod 的详细信息,如状态、事件、IP 地址等。 |
3. 服务管理
Service 定义了一组 Pod 的访问策略,是将应用暴露给内部或外部客户端的关键。管理好 Service 是保障网络可达性的核心。
| 命令 |
描述 |
kubectl get services |
查看集群中所有 Service 的列表。 |
kubectl create [service type] [name] --port=80 --target-port=8080 |
创建一个新的服务,监听 80 端口并转发到容器的 8080 端口。 |
kubectl delete service my-service |
删除名为 my-service 的服务。 |
kubectl describe service my-service |
查看服务 my-service 的详细信息。 |
4. 部署管理
Deployment 提供了声明式更新 Pod 和 ReplicaSet 的能力,是管理无状态应用的标准方式。通过它,你可以轻松实现滚动更新和扩缩容。
| 命令 |
描述 |
kubectl get deployments |
查看集群中所有 Deployment 的列表。 |
kubectl get deployment my-dep |
查看名为 my-dep 的 Deployment 的详细信息。 |
kubectl create deployment nginx --image=nginx |
创建一个新的 Deployment,使用名为 nginx 的镜像。 |
kubectl logs deploy/my-dep |
查看 Deployment my-dep 管理的所有 Pod 日志。 |
kubectl scale deployment my-dep --replicas=4 |
将名为 my-dep 的 Deployment 的副本数扩缩容到 4 个。 |
5. 命名空间管理
命名空间为资源提供了逻辑上的隔离,在多团队、多环境共享集群的场景下尤为重要。
| 命令 |
描述 |
kubectl get namespaces |
查看集群中所有命名空间的列表。 |
kubectl create namespace my-ns |
创建一个名为 my-ns 的新命名空间。 |
kubectl delete namespace my-ns |
删除名为 my-ns 的命名空间及其包含的所有资源。 |
总结
这份清单汇集了 kubectl 命令中最核心、最常用的部分。当你在进行日常巡检、故障排查或应用部署时,可以快速查阅以节省时间。熟练掌握这些基础命令,是深入理解 Kubernetes 更多高级特性和自动化运维的基石。
希望这份速查表能成为你容器运维工具箱里的得力助手。如果你想了解更多系统化的运维知识或与其他开发者交流经验,欢迎访问 云栈社区 的运维板块进行探索。
|