一、集群与节点管理(基础检查)
 
命令场景 完整命令 关键说明 
查看集群节点状态  kubectl get nodes  核心列: STATUS ( Ready  为正常)、 ROLES (区分 Master/Worker 节点) 
查看节点详细信息  kubectl describe node <节点名称>  重点看  Conditions (资源压力)、 Allocatable (可分配资源)、 Pods (运行的Pod) 
切换默认命名空间  kubectl config set-context --current --namespace=<命名空间>  避免每次操作加  -n <命名空间> ,如  kubectl config set-context --current --namespace=test  
 
二、核心资源操作(Pod/Deployment/Service)
 
1. Pod 相关
 
命令场景 完整命令 关键说明 
查看Pod列表  kubectl get pods -n <命名空间>  或  kubectl get pods -n <命名空间> -o wide   -o wide  显示Pod所在节点和IP,如  kubectl get pods -n default -o wide  
查看Pod日志  kubectl logs <Pod名称> -n <命名空间> [-f --tail=<行数>]   -f  实时跟踪日志, --tail=100  显示最后100行,如  kubectl logs nginx-pod -n default -f --tail=100  
进入Pod容器  kubectl exec -it <Pod名称> -n <命名空间> -c <容器名> -- <命令>  多容器Pod需指定  -c <容器名> ,如  kubectl exec -it nginx-pod -n default -- bash  
删除Pod  kubectl delete pod <Pod名称> -n <命名空间>  若Pod由Deployment管理,删除后会自动重建,需修改Deployment副本数或删除Deployment 
 
2. Deployment 相关
 
命令场景 完整命令 关键说明 
查看Deployment列表  kubectl get deployments -n <命名空间>  核心列: READY (就绪副本数/总副本数)、 UP-TO-DATE (最新版本副本数) 
创建/更新Deployment  kubectl apply -f <YAML文件路径>  生产环境首选,支持增量更新,如  kubectl apply -f nginx-deploy.yaml  
快速创建Deployment  kubectl create deployment <名称> --image=<镜像> --replicas=<副本数> -n <命名空间>  测试场景用,如  kubectl create deployment nginx-deploy --image=nginx:1.21 --replicas=3 -n default  
升级镜像版本  kubectl set image deployment/<Deployment名称> <容器名>=<新镜像> -n <命名空间>  如  kubectl set image deployment/nginx-deploy nginx=nginx:1.22 -n default  
查看更新进度  kubectl rollout status deployment/<Deployment名称> -n <命名空间>  确认新Pod是否正常启动,如  kubectl rollout status deployment/nginx-deploy -n default  
回滚到上一版本  kubectl rollout undo deployment/<Deployment名称> -n <命名空间>  回滚后可通过  kubectl rollout history  查看历史版本 
调整副本数(手动伸缩)  kubectl scale deployment/<Deployment名称> --replicas=<目标副本数> -n <命名空间>  如  kubectl scale deployment/nginx-deploy --replicas=5 -n default  
 
3. Service 相关
 
命令场景 完整命令 关键说明 
查看Service列表  kubectl get services -n <命名空间>  或  kubectl get svc -n <命名空间>   svc  是  services  缩写,核心列: TYPE (服务类型)、 CLUSTER-IP (集群内IP) 
查看Service详情  kubectl describe service <Service名称> -n <命名空间>  重点看  Endpoints (关联的Pod IP:Port),无IP则说明标签不匹配 
 
三、排障专用命令(定位问题核心)
 
命令场景 完整命令 关键说明 
查看Pod事件日志  kubectl describe pod <Pod名称> -n <命名空间>  重点看  Events  字段,排查镜像拉取失败、存储挂载错误等,如  Failed to pull image  
本地映射Pod端口  kubectl port-forward pod/<Pod名称> <本地端口>:<Pod端口> -n <命名空间>  跳过Service测试Pod本身,如  kubectl port-forward pod/nginx-pod 8080:80 -n default ,访问  localhost:8080  
创建调试Pod(共享网络)  kubectl debug -it --share-processes --image=busybox:1.35 <调试Pod名> --attach --pod=<目标Pod名> -n <命名空间>  用  ping / telnet  排查网络,如  kubectl debug -it debug-pod --share-processes --image=busybox:1.35 --attach --pod=nginx-pod -n default  
查看HPA状态(自动伸缩)  kubectl get hpa -n <命名空间>  确认是否触发扩容/缩容,核心列: TARGETS (当前CPU使用率/阈值) 
 
四、效率提升技巧(别名与简写)
 
场景 配置/命令 说明 
设置kubectl别名 在  ~/.bashrc  或  ~/.zshrc  中添加: alias k='kubectl'  之后可简写为  k get pods -n default ,配置后执行  source ~/.bashrc  生效 
资源名称简写 常用资源支持缩写: pods→po 、 deployments→deploy 、 services→svc 、 nodes→no  如  k get po -n default (等价  kubectl get pods -n default ) 

Logo

开源鸿蒙跨平台开发社区汇聚开发者与厂商,共建“一次开发,多端部署”的开源生态,致力于降低跨端开发门槛,推动万物智联创新。

更多推荐