一、环境与集群

bash

运行

# 客户端/服务端版本
kubectl version
# 查看集群节点
kubectl get nodes
# 集群健康状态
kubectl get cs
# 查看集群信息
kubectl cluster-info
# 查看 API 资源
kubectl api-resources

二、命名空间 NS

bash

运行

# 查看所有命名空间
kubectl get ns
# 创建命名空间
kubectl create ns dev
# 删除命名空间
kubectl delete ns dev
# 设置默认命名空间
kubectl config set-context --current --namespace=dev

三、资源查询

bash

运行

# 查看当前空间所有资源
kubectl get all
# 指定命名空间所有资源
kubectl get all -n kube-system

# Pod 查看
kubectl get pods
kubectl get pods -o wide      # 详细IP/节点
kubectl get pods -n test

# 控制器
kubectl get deploy    # 部署
kubectl get ds        # DaemonSet
kubectl get sts       # 有状态副本集

# 网络资源
kubectl get svc       # 服务
kubectl get ingress   # 路由

# 存储资源
kubectl get pv
kubectl get pvc

# 配置&密钥
kubectl get cm
kubectl get secret

四、Pod 核心操作(排错必备)

bash

运行

# 查看Pod详细事件(报错首选)
kubectl describe pod <pod-name> -n <ns>

# 查看日志
kubectl logs <pod-name>
kubectl logs -f <pod-name>       # 实时日志
kubectl logs <pod-name> -c <容器名>  # 多容器指定

# 进入容器
kubectl exec -it <pod-name> -- /bin/bash
kubectl exec -it <pod-name> -c <容器名> -- sh

# 删除Pod
kubectl delete pod <pod-name> -n <ns>
# 强制删除僵死Pod
kubectl delete pod <pod-name> --force --grace-period=0

五、资源创建 / 更新 / 删除

bash

运行

# 应用yaml创建/更新
kubectl apply -f demo.yaml
# 批量应用目录yaml
kubectl apply -f ./k8s/

# 命令快速创建
kubectl run nginx --image=nginx:alpine
kubectl create deployment nginx --image=nginx

# 删除资源
kubectl delete -f demo.yaml
kubectl delete deploy nginx
kubectl delete svc nginx

六、Deployment 运维

bash

运行

# 扩缩容
kubectl scale deploy nginx --replicas=3

# 镜像更新
kubectl set image deploy nginx nginx=nginx:1.25

# 发布历史
kubectl rollout history deploy nginx
# 回滚上一版本
kubectl rollout undo deploy nginx
# 暂停/恢复发布
kubectl rollout pause deploy nginx
kubectl rollout resume deploy nginx

# 重启Pod(优雅重启)
kubectl rollout restart deploy nginx

七、网络与端口转发

bash

运行

# 暴露Deployment为NodePort
kubectl expose deploy nginx --port=80 --type=NodePort

# 本地端口转发(调试内部服务)
kubectl port-forward pod/<pod-name> 8080:80
kubectl port-forward svc/nginx 8080:80

八、节点管理

bash

运行

# 查看节点资源占用
kubectl top nodes
kubectl top pods

# 节点维护:禁止调度
kubectl cordon node-01
# 恢复调度
kubectl uncordon node-01
# 节点驱逐(维护关机前)
kubectl drain node-01 --ignore-daemonsets

九、YAML 导出与编辑

bash

运行

# 在线编辑资源
kubectl edit deploy nginx -n dev

# 导出现有资源yaml
kubectl get deploy nginx -o yaml > deploy-nginx.yaml
# 精简导出(无冗余字段)
kubectl get deploy nginx -o yaml --export > deploy.yaml

十、权限上下文

bash

运行

# 查看当前上下文
kubectl config current-context
# 切换集群上下文
kubectl config use-context k8s-prod
# 查看全部上下文
kubectl config get-contexts

十一、常用简写(提升效率)

表格

完整命令简写
podspo
deploymentdeploy
servicesvc
namespacens
configmapcm
ingressing

更多推荐