📦 一、集群信息查看
# 查看集群信息
kubectl cluster-info
# 查看节点信息
kubectl get nodes
kubectl get nodes -o wide # 显示更详细信息
# 查看组件状态
kubectl get componentstatuses
🎯 二、资源管理(CRUD操作)
创建资源
# 从文件创建
kubectl create -f <文件名>.yaml
kubectl apply -f <文件名>.yaml # 推荐,可更新
# 从目录批量创建
kubectl apply -f <目录>/
# 快速创建Deployment
kubectl create deployment nginx --image=nginx
查看资源
# 查看所有Pod
kubectl get pods
kubectl get pods -o wide # 显示节点、IP等信息
kubectl get pods -A # 查看所有命名空间的Pod
# 查看其他资源
kubectl get deployment
kubectl get service
kubectl get configmap
kubectl get secret
# 查看详细信息
kubectl describe pod <pod名称>
kubectl describe node <节点名称>
更新资源
# 应用配置更改
kubectl apply -f <文件名>.yaml
# 编辑资源
kubectl edit deployment <名称>
# 设置镜像
kubectl set image deployment/<名称> <容器名>=<新镜像>
删除资源
# 删除指定资源
kubectl delete pod <pod名称>
kubectl delete -f <文件名>.yaml
# 强制删除
kubectl delete pod <pod名称> --force --grace-period=0
🔍 三、Pod操作
# 查看Pod日志
kubectl logs <pod名称>
kubectl logs -f <pod名称> # 实时跟踪
kubectl logs <pod名称> -c <容器名> # 多容器Pod
# 进入Pod容器
kubectl exec -it <pod名称> -- /bin/bash
kubectl exec -it <pod名称> -c <容器名> -- /bin/sh
# 查看Pod资源使用
kubectl top pod
kubectl top pod <pod名称>
# 端口转发
kubectl port-forward <pod名称> 本地端口:容器端口
🔄 四、Deployment管理
# 扩缩容
kubectl scale deployment <名称> --replicas=3
# 滚动更新
kubectl rollout status deployment/<名称>
kubectl rollout history deployment/<名称>
# 回滚
kubectl rollout undo deployment/<名称>
kubectl rollout undo deployment/<名称> --to-revision=2
# 暂停/恢复发布
kubectl rollout pause deployment/<名称>
kubectl rollout resume deployment/<名称>
🌐 五、Service & 网络
# 创建Service
kubectl expose deployment <名称> --port=80 --target-port=8080
# 查看Service
kubectl get svc
kubectl describe svc <服务名>
# 查看Endpoints
kubectl get endpoints
📝 六、命名空间操作
# 查看命名空间
kubectl get namespace
# 创建命名空间
kubectl create namespace <名称>
# 切换默认命名空间
kubectl config set-context --current --namespace=<名称>
# 指定命名空间操作
kubectl get pods -n <命名空间>
🔐 七、配置管理
# ConfigMap
kubectl create configmap <名称> --from-file=<文件路径>
kubectl get configmap
kubectl describe configmap <名称>
# Secret
kubectl create secret generic <名称> --from-literal=key=value
kubectl get secret
📊 八、资源监控
# 查看资源使用情况
kubectl top nodes
kubectl top pods
# 查看事件
kubectl get events
kubectl get events --sort-by=.metadata.creationTimestamp
# 监控Pod状态变化
kubectl get pods -w # watch模式
🛠️ 九、调试命令
# 临时运行Pod进行调试
kubectl run test --image=busybox -it --rm -- /bin/sh
# 复制文件
kubectl cp <pod名称>:<容器路径> <本地路径>
kubectl cp <本地路径> <pod名称>:<容器路径>
# 查看API资源
kubectl api-resources
kubectl explain pod
⚙️ 十、集群配置
# 查看当前配置
kubectl config view
# 查看上下文
kubectl config get-contexts
# 切换集群
kubectl config use-context <上下文名>
# 设置凭据
kubectl config set-credentials <用户名>
💡 实用技巧
# 使用别名简化命令
alias k=kubectl
alias kgp='kubectl get pods'
alias kgd='kubectl get deployments'
# 输出格式化
kubectl get pods -o json
kubectl get pods -o yaml
kubectl get pods -o jsonpath='{.items[*].metadata.name}'
# 标签选择器
kubectl get pods -l app=nginx
kubectl get pods --selector='env=prod,tier=frontend'
📚 常用组合示例
# 查看所有资源
kubectl get all -A
# 删除状态为Error的Pod
kubectl delete pods --field-selector status.phase=Failed
# 查找占用资源最多的Pod
kubectl top pods --all-namespaces | sort --reverse --key 3 --numeric
# 批量重启Pod
kubectl rollout restart deployment/<名称>
小贴士 💡:
大多数命令都支持
-n指定命名空间使用
--help查看详细用法善用 Tab 键自动补全(需安装补全脚本)
建议配置
kubectl别名提高效率