01 基础资源操作
查看资源
# 查看 kube-system 命名空间下的 Pod 列表
kubectl get pods -n kube-system
# 查看节点详细信息(IP、状态等)
kubectl get nodes -o wide
# 按标签筛选 Pod(例如筛选标签 app=nginx 的 Pod)
kubectl get pods -l app=nginx
创建资源
# 通过 YAML 文件创建资源(如部署应用)
kubectl create -f nginx.yaml
# 创建命名空间(例如创建 dev 命名空间)
kubectl create namespace dev
删除资源
# 删除指定 Pod(例如删除名为 nginx-123 的 Pod)
kubectl delete pod nginx-123
# 强制删除 Pod(跳过优雅终止,适用于紧急情况)
kubectl delete pod nginx-123 --grace-period=0 --force
02 部署更新
查看部署历史
# 查看 Deployment 的版本历史(例如 nginx 的部署历史)
kubectl rollout history deployment/nginx
# 回滚到指定版本(例如回滚到版本 2)
kubectl rollout undo deployment/nginx --to-revision=2
手动扩缩容
# 手动调整副本数(例如将副本数扩至 5)
kubectl scale deployment nginx --replicas=5
自动扩缩容
# 设置自动水平扩展(例如设置最小 2、最大 10 副本,CPU 利用率阈值 80%)
kubectl autoscale deployment nginx --min=2 --max=10 --cpu-percent=80
03 问题定位
查看详细信息
# 查看 Pod 的详细信息(例如检查 nginx-123 的状态和事件)
kubectl describe pod nginx-123 -n default
日志追踪
# 实时追踪 Pod 日志(例如追踪 nginx-123 的日志,并显示最后 100 行)
kubectl logs -f nginx-123 --tail=100
# 查看多容器 Pod 中特定容器的日志(例如查看 php-container 的日志)
kubectl logs nginx-123 -c php-container
交互式调试
# 进入容器终端(例如进入 nginx-123 的 Bash 终端)
kubectl exec -it nginx-123 -- /bin/bash
04 节点管理
标签与污点
# 为节点添加标签(例如标记 node01 的磁盘类型为 SSD)
kubectl label node node01 disk=ssd
# 设置节点污点(例如限制 node02 不可调度新 Pod)
kubectl taint node node02 key=value:NoSchedule
网络与存储
# 创建 Service 暴露应用(例如通过端口 80 暴露 nginx)
kubectl expose deployment nginx --port=80 --target-port=80
# 查看 PVC/PV 存储资源(例如查看 prod 命名空间下的 PVC)
kubectl get pvc -n prod
05 配置管理
动态修改配置
# 在线编辑资源配置(例如修改 nginx Service 的配置)
kubectl edit svc/nginx
配置文件导出
# 导出资源配置为 YAML(例如备份 nginx Deployment)
kubectl get deployment nginx -o yaml > backup.yaml
安全与权限
# 查看集群角色绑定
kubectl get clusterrolebindings
# 创建 ServiceAccount(例如创建名为 admin 的账户)
kubectl create serviceaccount admin