在 Kubernetes (K8s) 运维工作中,以下是最常用的命令及其用途说明,按功能分类整理:

1. 集群信息查看

  • kubectl get nodes:查看集群所有节点状态,包括节点名称、角色、状态、年龄和版本

  • kubectl describe node <节点名>:查看指定节点的详细信息,包括资源使用情况、标签、污点等

  • kubectl cluster-info:显示集群控制平面的地址信息

2. 工作负载管理

  • kubectl get pods:查看当前命名空间的所有 Pod 状态

  • kubectl get pods -n <命名空间>:查看指定命名空间的 Pod

  • kubectl get pods -o wide:查看 Pod 的详细信息,包括所在节点、IP 等

  • kubectl describe pod <Pod名称>:查看指定 Pod 的详细信息和事件

  • kubectl logs <Pod名称>:查看 Pod 的日志

  • kubectl logs -f <Pod名称>:实时查看 Pod 的日志

  • kubectl exec -it <Pod名称> – /bin/bash:进入 Pod 内部执行命令

  • kubectl get deployments:查看部署 (Deployment) 列表

  • kubectl get statefulsets:查看有状态集 (StatefulSet) 列表

  • kubectl get daemonsets:查看守护进程集 (DaemonSet) 列表

3. 服务与网络

  • kubectl get services:查看所有服务 (Service)

  • kubectl get ingresses:查看 ingress 资源

  • kubectl get endpoints:查看服务对应的端点信息

4. 配置与存储

  • kubectl get configmaps:查看配置映射 (ConfigMap)

  • kubectl get secrets:查看密钥 (Secret)

  • kubectl get persistentvolumes:查看持久卷 (PV)

  • kubectl get persistentvolumeclaims:查看持久卷声明 (PVC)

5. 资源操作

  • kubectl create -f <yaml文件>:根据 YAML 文件创建资源

  • kubectl apply -f <yaml文件>:创建或更新资源(推荐使用)

  • kubectl delete pod <Pod名称>:删除指定 Pod

  • kubectl delete deployment <部署名称>:删除指定部署

  • kubectl edit deployment <部署名称>:编辑部署的配置

  • kubectl scale deployment <部署名称> --replicas=<数量>:调整部署的副本数量

6. 命名空间管理

  • kubectl get namespaces:查看所有命名空间

  • kubectl create namespace <命名空间名>:创建新的命名空间

  • kubectl delete namespace <命名空间名>:删除命名空间

7. 其他常用命令

  • kubectl get all:查看当前命名空间的所有资源

  • kubectl explain <资源类型>:查看资源类型的详细说明,如kubectl explain pods

  • kubectl top pods:查看 Pod 的资源使用情况

  • kubectl top nodes:查看节点的资源使用情况

  • kubectl rollout history deployment <部署名称>:查看部署的历史版本

  • kubectl rollout undo deployment <部署名称>:回滚到上一个版本的部署

这些命令覆盖了 K8s 日常运维的大部分场景,掌握它们可以高效地管理和排查 Kubernetes 集群问题。实际使用时,可以通过kubectl --help或kubectl <命令> --help获取更详细的帮助信息。

🔥运维干货分享

Logo

纵情码海钱塘涌,杭州开发者创新动! 属于杭州的开发者社区!致力于为杭州地区的开发者提供学习、合作和成长的机会;同时也为企业交流招聘提供舞台!

更多推荐