K8S常用命令手册
以下是Kubernetes(k8s)中最常用的命令分类整理,涵盖日常运维、资源管理、故障排查等场景,帮助你高效管理集群:
一、基础资源查看命令
# 查看节点信息 kubectl get nodes kubectl describe node <节点名称> # 查看命名空间 kubectl get namespaces kubectl describe ns <命名空间名称> # 查看Pod(默认当前命名空间) kubectl get pods kubectl get pods -o wide # 显示详细信息(IP、节点等) kubectl get pods -n <命名空间> # 指定命名空间 kubectl describe pod <Pod名称> # 查看Pod详细信息 # 查看其他资源(Deployment、Service、Ingress等) kubectl get deployments,services,ingress kubectl describe deployment <Deployment名称>
二、Pod操作命令
# 创建Pod(基于YAML文件) kubectl apply -f pod.yaml # 删除Pod kubectl delete pod <Pod名称> kubectl delete -f pod.yaml # 进入Pod内部(交互式终端) kubectl exec -it <Pod名称> -n namespace -- /bin/bash //注意命名空间 kubectl exec -it <Pod名称> -c <容器名称> -n namespace -- /bin/sh # 多容器Pod指定容器 # 查看Pod日志 kubectl logs <Pod名称> kubectl logs -f <Pod名称> # 实时跟踪日志 kubectl logs <Pod名称> -c <容器名称> # 多容器Pod指定容器
示例:
获取pod 容器名称
kubectl get pod tomcat-deployment-6764c49f98-78thd -n tomcat-test -o jsonpath='{.spec.containers[*].name}'
拷贝文件到pod 容器中命令,-c 是容器名称,容器名称获取pod获取
kubectl cp /nfs/default-tomcat-pvc-pvc-12c03e25-993d-4e02-a120-18d3ec02335d/index.jsp tomcat-test/tomcat-deployment-6764c49f98-78thd:/usr/local/tomcat/webapps -c tomcat
示例:宿主机拷贝文件到pod中
三、部署与伸缩命令
# 创建Deployment kubectl apply -f deployment.yaml # 扩缩容Pod数量 kubectl scale deployment <Deployment名称> --replicas=3 # 滚动更新镜像 kubectl set image deployment <Deployment名称> <容器名称>=<新镜像>:<标签> kubectl rollout status deployment <Deployment名称> # 查看更新状态 kubectl rollout history deployment <Deployment名称> # 查看更新历史 kubectl rollout undo deployment <Deployment名称> # 回滚到上一版本
示例:扩容、缩小副本数量
说明:
正常情况:扩缩容 Pod 数量对 Ingress 访问无影响,Service 会自动适配 Pod 变化。
潜在风险:极端场景下可能有毫秒级延迟或个别请求失败,但通过合理配置(就绪探针、优雅终止时间等)可避免。
核心保障:确保 Service 的标签选择器正确、Ingress 配置指向正确的 Service,即可稳定支持 Pod 的动态扩缩容。
因此,日常扩缩容操作无需担心 Ingress 访问问题,Kubernetes 的自愈机制会处理大部分细节。
四、Service与Ingress命令
# 创建Service kubectl apply -f service.yaml # 查看Service kubectl get services kubectl describe service <Service名称> # 创建Ingress kubectl apply -f ingress.yaml # 查看Ingress kubectl get ingress kubectl describe ingress <Ingress名称>
示例:
五、配置与存储命令
# 创建ConfigMap kubectl create configmap <名称> --from-file=配置文件路径 kubectl apply -f configmap.yaml # 创建Secret kubectl create secret generic <名称> --from-literal=key1=value1 kubectl create secret tls <名称> --cert=证书路径 --key=私钥路径 # 查看PVC和PV kubectl get pvc,pv kubectl describe pvc <PVC名称>
六、集群与上下文管理
# 查看当前配置上下文 kubectl config view kubectl config current-context # 切换上下文(集群/用户/命名空间) kubectl config use-context <上下文名称> # 查看API资源 kubectl api-resources # 查看所有资源类型 kubectl explain <资源类型> # 查看资源字段说明
七、故障排查常用命令
# 查看Pod状态及事件 kubectl get pods -o wide kubectl describe pod <Pod名称> # 查看详细事件 # 查看节点资源使用情况 kubectl top nodes kubectl top pods # 端口转发(本地访问集群内部服务) kubectl port-forward service/<Service名称> 8080:80 # 本地8080→服务80 # 查看系统组件状态 kubectl get pods -n kube-system kubectl logs <组件Pod名称> -n kube-system
八、高级命令技巧
# 标签筛选 kubectl get pods -l app=nginx # 筛选标签app=nginx的Pod # 字段筛选 kubectl get pods --field-selector=status.phase=Running # 导出资源配置(用于参考或备份) kubectl get deployment <名称> -o yaml > deployment.yaml # 执行一次性命令 kubectl run --image=busybox test --restart=Never -- echo "Hello World" # 批量操作 kubectl delete pods --all # 删除所有Pod kubectl delete deployments,services --all # 删除所有Deployment和Service
九、命名空间命令
# 创建命名空间 kubectl create namespace <命名空间名称> kubectl apply -f namespace.yaml # 切换默认命名空间 kubectl config set-context --current --namespace=<命名空间名称> # 在命令中指定命名空间 kubectl get pods -n <命名空间名称>
十、资源配额与限制
# 创建资源配额 kubectl apply -f resourcequota.yaml # 创建LimitRange限制单个容器资源 kubectl apply -f limitrange.yaml # 查看配额使用情况 kubectl get resourcequota
命令补全设置(提高效率)
# bash shell source <(kubectl completion bash) echo "source <(kubectl completion bash)" >> ~/.bashrc # zsh shell source <(kubectl completion zsh) echo "source <(kubectl completion zsh)" >> ~/.zshrc
十一、查看pod使用镜像,备份导出导入:
kubectl get pods -n tomcat-test -o wide kubectl get pod tomcat-deployment-6764c49f98-78thd -n tomcat-test -o yaml | grep image: ctr -n k8s.io images export tomcat-v9.0.tar docker.io/library/tomcat:9.0 //导出镜像 ctr -n k8s.io images import tomcat9.0.tar //到具体节点导入镜像
示例:
掌握这些命令后,你可以完成Kubernetes集群的日常管理、部署应用、故障排查等核心操作。
上篇:
Kubernetes集群日志-使用Loki实现高效日志分析和查询
下篇:
没有了
1 K8S常用命令手册 2 运维必备:掌握这3个存储技术 3 2025年AI美女生成提示词全攻略(附12类模板+技术参数) 4 AIGC高阶教程:用即梦AI提示词榨干模型创作力 5 DeepSeek 诗词创作神技巧 6 爆款小说速成秘籍!DeepSeek保姆级创作指令 7 30年笔杆子的经验分享!3步DeepSeek指令法+模板库让你效率翻倍 8 60后必看!DeepSeek十大神级指令 9 女神必看!DeepSeek精准指令大全,一键解决健康/情绪/家庭难题 10 AI绘画告别翻车!AI绘画提示词指令大全 11 橘猫生活场景视频制作教程简单好上手 12 家乡微缩景观太美了,每个人都可以给自己的家乡安排上。送提示词