这是管理真实生产环境中 Kubernetes 的 13 个最常用的 kubectl 命令,以及解释和常见用例:
✅核心管理1 kubectl get
列出 Kubernetes 资源。
包括:
→ kubectl get pods(列出 Pod)
→ kubectl get deployments(列出部署)
→ kubectl get services(列出服务)
→ kubectl get all(列出命名空间中的大多数资源)
2 kubectl describe
提供有关资源的详细信息。
包括:
→ kubectl describe pod my-pod
→ kubectl describe node my-node
3 kubectl create
从文件或标准输入创建资源。通常与 YAML 清单文件一起使用:
→ kubectl create -f my-deployment.yaml
4 kubectl apply
根据配置文件创建或更新资源。这是管理生产中更改的更安全方式,因为它会跟踪已应用的更改。
→ kubectl apply -f my-deployment.yaml(应用部署定义)
5 kubectl delete
删除资源。小心使用!例如:
→ kubectl delete pod my-pod
→ kubectl delete service my-service
✅调试和故障排除6 kubectl logs
从 Pod 内的容器获取日志:
→ kubectl logs my-pod
→ kubectl logs my-pod -c my-container(指定容器)
7 kubectl exec
在容器内执行命令。对于调试非常强大:
→ kubectl exec -it my-pod -- bash(交互式 shell)
8 kubectl port-forward
将本地端口转发到 Pod 上的一个端口。用于访问未直接公开的服务很有用:
→ kubectl port-forward my-pod 8080:80
✅监测和分析9 kubectl top
显示 Pod 和节点的资源使用情况(CPU/内存):→ kubectl top pod(Pod 资源使用情况)→ kubectl top node(节点资源使用情况)
10 kubectl explain
描述 Kubernetes 资源的字段:
→ kubectl explain pod→ kubectl explain pod.spec(更具体)
✅管理工作负载11 kubectl rollout
部署的管理,包括更新和回滚:
→ kubectl rollout status deployment/my-deployment→ kubectl rollout undo deployment/my-deployment
12 kubectl scale
调整部署或副本集中的副本数量:
→ kubectl scale deployment/my-deployment --replicas=5
13 kubectl edit
直接在集群上编辑资源的配置。在生产中使用时要小心。
→ kubectl edit deployment my-deployment
重要说明:(此处已添加书籍卡片,请到今日头条客户端查看)→ 命名空间:大多数命令都可以与 -n <命名空间>一起使用,以针对特定的命名空间
→ 输出格式:使用 -o wide、-o yaml 或 -o json 与 get 和 describe 等命令一起控制输出格式。