K8s 全网高频常用命令大全 目录一、基础资源查看命令二、Pod 排错核心命令生产故障必备三、应用发布、更新、回滚、扩缩容四、YAML资源管理创建/编辑/导出/删除五、ConfigMap / Secret 配置管理六、节点运维、调度、污点管理七、RBAC 权限管理命令八、容器运行时 containerd 常用命令九、命令简写 别名技巧提高效率一、基础资源查看命令# 查看所有命名空间kubectl get ns# 查看全部Pod所有命名空间kubectl get pods -A# 指定命名空间查看Pod详细信息节点IP、宿主机kubectl get pods -n xxx -o wide# 查看各类核心资源#查看deployment部署kubectl get deploy -n xxx#简写kubectl get deploy -n xxx#查看service服务kubectl get svc -n xxx#查看daemonset守护集kubectl get daemonset -n xxx#简写kubectl get ds -n xxx#查看statefulset有状态应用kubectl get statefulset -n xxx#简写kubectl get sts -n xxx#查看configmap配置kubectl get cm -n xxx#查看secret密钥kubectl get secret -n xxx#一次性查看以上全部资源kubectl get deploy,svc,ds,sts,cm,secret -n xxx# 查看Service后端就绪Pod端点排错必用kubectl get endpoints svc-name -n xxx# 查看集群事件按时间排序排错第一步kubectl get events -n xxx --sort.lastTimestampkubectl get events -A --sort.lastTimestamp# 查看集群节点状态kubectl get nodes -o wide# 查看K8s API资源及字段kubectl api-resourceskubectl explain deployment.spec# yaml格式输出完整资源kubectl get pod pod-name -n xxx -o yaml# json格式输出kubectl get pod pod-name -n xxx -o json# jsonpath提取字段示例获取PodIPkubectl get pods -n xxx -o jsonpath{.items[*].status.podIP}# 自定义列输出kubectl get pods -n xxx -o custom-columnsPOD:.metadata.name,NODE:.spec.nodeName# 只打印资源名称kubectl get pods -n xxx -o name# 追加资源使用率依赖metrics‑serverkubectl top pods -n xxxkubectl top pods -n xxx --sort-bycpukubectl top nodeskubectl top nodes --sort-bymemory# 追加标签查看、筛选# 显示资源标签kubectl get pods -n xxx --show-labels# 根据标签筛选Podkubectl get pods -n xxx -l appdemokubectl get pods -n xxx -l appdemo,envprod# 根据字段筛选查找调度到node01的Podkubectl get pods -n xxx --field-selector spec.nodeNamenode01# 筛选异常状态Podkubectl get pods -n xxx --field-selector status.phase!Running# 追加集群基础信息kubectl cluster-info二、Pod 排错核心命令生产故障必备# 查看Pod详细事件、报错、启动原因kubectl describe pod pod-name -n xxx# 查看当前容器日志kubectl logs pod-name -n xxx# 查看上一次崩溃日志CrashLoopBackOff 专属kubectl logs pod-name --previous -n xxx# 实时跟踪日志kubectl logs -f pod-name -n xxx# 进入Pod容器终端kubectl exec -it pod-name -n xxx -- bashkubectl exec -it pod-name -n xxx -- sh# 临时网络调试Pod排查网络、DNS、端口连通性kubectl run netshoot --rm -it --imagenicolaka/netshoot -n xxx -- bash#本地端口转发Podkubectl port-forward pod/pod-name -n xxx 8080:80#本地端口转发Servicekubectl port-forward svc/demo-svc -n xxx 8080:80三、应用发布、更新、回滚、扩缩容# 副本扩缩容kubectl scale deployment app --replicas3 -n xxx# 滚动更新镜像kubectl set image deployment/app 容器名镜像地址:版本 -n xxx# 查看发布历史版本kubectl rollout history deployment app -n xxx# 回滚至上一版本kubectl rollout undo deployment app -n xxx# 回滚到指定版本kubectl rollout undo deployment app --to-revision2 -n xxx# 查看滚动更新实时状态kubectl rollout status deployment app -n xxx# 追加patch修改资源无需编辑yamlkubectl patch deployment app -n xxx -p {spec:{replicas:5}}四、YAML资源管理创建/编辑/导出/删除# 应用YAML创建/更新资源kubectl apply -f xxx.yaml# 批量应用文件夹内所有YAMLkubectl apply -f ./yaml/# 导出现有资源YAML用于备份、复用kubectl get deploy app -n xxx -o yaml deploy.yaml# 在线直接编辑资源kubectl edit deployment app -n xxx# 删除资源kubectl delete -f xxx.yamlkubectl delete pod pod-name -n xxx# 强制删除卡死Terminating状态Podkubectl delete pod pod-name -n xxx --grace-period0 --force# 删除命名空间下全部Pod不删deployment控制器kubectl delete pods --all -n xxx# 删除命名空间下全部资源谨慎操作kubectl delete all --all -n xxx# 追加dryrun预生成yaml不实际创建资源kubectl run testpod --imagenginx -n xxx --dry-runclient -o yaml pod.yaml五、ConfigMap / Secret 配置管理# 文件方式创建ConfigMapkubectl create configmap app-config -n xxx --from-fileapp.conf# 创建私有仓库镜像拉取Secretkubectl create secret docker-registry regsecret -n xxx \--docker-server仓库地址 \--docker-username用户名 \--docker-password密码# 查看配置资源详情kubectl describe cm app-config -n xxxkubectl describe secret regsecret -n xxx六、节点运维、调度、污点管理# 禁止新Pod调度到当前节点kubectl cordon node01# 驱逐节点所有业务Pod准备机器维护忽略DaemonSetkubectl drain node01 --ignore-daemonsets# 维护完成恢复节点调度kubectl uncordon node01# 给节点打污点禁止调度kubectl taint nodes node01 keyvalue:NoSchedule# 删除节点污点kubectl taint nodes node01 key-# 追加查看节点污点kubectl describe node node01 | grep Taints# 追加节点标签操作kubectl label nodes node01 envprodkubectl label nodes node01 env-七、RBAC 权限管理命令# 创建命名空间只读Rolekubectl create role pod-read --verbget,list --resourcepods -n xxx# 绑定用户与Role命名空间级授权kubectl create rolebinding test-rb --rolepod-read --usertest -n xxx# 创建集群级只读权限kubectl create clusterrole cluster-pod-read --verbget,list --resourcepods# 全局绑定集群权限kubectl create clusterrolebinding crb-test --clusterrolecluster-pod-read --usertest# 追加RBAC查询、权限校验kubectl get roles -n xxxkubectl get rolebindings -n xxxkubectl get clusterroleskubectl get clusterrolebindings# 校验当前账号是否具备操作权限kubectl auth can-i create pods -n xxx八、容器运行时 containerd 常用命令# 查看节点运行容器crictl ps# 查看本地镜像crictl images# 清理无用镜像、缓存crictl prune九、命令简写 别名技巧提高效率常用简写对照表pods → podeployment → deployservice → svcnamespace → nsconfigmap → cm永久配置别名k代替kubectlecho alias kkubectl /etc/profilesource /etc/profile