Kubernetes命令详解:管理Pods、Services与集群状态

需积分: 31 8 下载量 8 浏览量 更新于2024-08-05 收藏 142KB DOCX 举报
"这份文档详细介绍了Kubernetes(k8s)的常用命令,适用于k8s集群管理和学习。文档内容涵盖了查看Pods、Services、Deployments、Nodes、Cluster状态以及日志和环境变量的检查等多个方面,是k8s学习和操作的重要参考资料。" 在Kubernetes环境中,掌握基本的命令行工具`kubectl`至关重要。以下是一些关键的k8s命令: 1. 查看所有namespace的Pods运行情况: `kubectl get pods --all-namespaces` 这个命令用于显示所有命名空间内的Pods状态,帮助你了解整个集群的Pod分布。 2. 查看Services: `kubectl get service -A` 这将列出所有命名空间中的Services,方便你跟踪服务的配置和状态。 3. 查看Deployments: `kubectl get deployments -A` 此命令用于查看所有命名空间的Deployment,了解应用的副本集部署情况。 4. 输出JSON格式信息: `kubectl get pods web01 -o json` 或 `kubectl get services web01 -o json` 可以将特定对象的信息以JSON格式输出,便于分析和自动化处理。 5. 输出更详细信息: `kubectl get pods web01 -o wide` 显示更多关于Pod的详细信息,包括节点分配、IP地址等。 6. 查看Endpoints: `kubectl get endpoints web01` Endpoints对象映射了Service到其背后的Pods,确保Service能够正确路由流量。 7. 查看特定命名空间下的Pods: `kubectl get pods kubernetes-dashboard-76479d66bb-nj8wr --namespace=kube-system` 这样可以定位到特定命名空间内的Pod,例如在kube-system命名空间中的dashboard Pod。 8. 查看Pod详细信息: `kubectl describe pods $POD_NAME --namespace=$NAMESPACE` 提供了Pod的详细信息,包括事件、容器状态、启动时间等,有助于排查问题。 9. 查看集群状态: `kubectl get cs` 显示集群组件的状态,确认整个集群是否健康。 10. 查看节点信息: `kubectl get nodes` 列出集群中的所有节点,查看它们的状况和资源使用情况。 11. 获取所有Deployment: `kubectl get deployment --all-namespaces` 查看所有命名空间的Deployment,了解应用的部署情况。 12. 查看未初始化的Pods: `kubectl get pods --include-uninitialized` 这会显示那些尚未完成初始化的Pods。 13. 查看特定Deployment: `kubectl get deployment nginx-app` 获取特定Deployment的详细信息。 14. 查看RC和Services: `kubectl get rc, services` 一次性列出ReplicationControllers和Services,了解旧版复制机制和网络服务。 15. 查看Pod结构信息: `kubectl describe pods $POD_NAME --namespace=$NAMESPACE` 通过此命令,你可以看到Pod的详细配置,包括容器、卷、事件等,这对于故障排查很有帮助。 16. 查看Pod日志: `kubectl logs $POD_NAME` 直接查看Pod内某个容器的日志,帮助诊断应用程序的问题。 17. 查看Pod环境变量: `kubectl exec my-nginx-5j8ok --printenv | grep VAR_NAME` 在Pod内执行命令,查看特定环境变量的值。 以上命令是k8s日常操作中非常实用的一部分,熟练掌握这些命令将极大地提高你在集群管理中的效率。对于其他控制器(如ReplicaSets、StatefulSets等),命令模式类似,只需替换相应的控制器名称即可。