kubernetes常用命令 k8s指令大全

以下是 Kubernetes 常用命令的整理,涵盖集群管理、资源操作、调试排错等场景,帮助您快速掌握核心操作:

一、集群管理

命令 说明
kubectl cluster-info 查看集群信息
kubectl config get-contexts 列出所有上下文(集群配置)
kubectl config use-context <context-name> 切换集群或命名空间
kubectl get componentstatuses 检查集群组件状态(如 scheduler、controller-manager)

二、资源管理

通用操作
命令 说明
kubectl get <resource> 查看资源列表(如 pods, deployments, services
kubectl describe <resource> <name> 查看资源详细信息(事件、状态等)
kubectl create -f <file.yaml> 通过 YAML 文件创建资源
kubectl apply -f <file.yaml> 应用/更新资源配置
kubectl delete -f <file.yaml> 删除 YAML 中定义的资源
kubectl delete <resource> <name> 删除指定资源(如 pod/my-pod
kubectl edit <resource> <name> 直接编辑资源配置(实时生效)
常用资源别名
  • po: Pods
  • deploy: Deployments
  • svc: Services
  • ns: Namespaces
  • pv: PersistentVolumes
  • pvc: PersistentVolumeClaims

三、部署与扩缩容

命令 说明
kubectl scale deploy/<name> --replicas=3 扩展 Deployment 的副本数
kubectl rollout status deploy/<name> 查看部署状态(如滚动更新进度)
kubectl rollout history deploy/<name> 查看部署历史版本
kubectl rollout undo deploy/<name> 回滚到上一个版本
kubectl set image deploy/<name> <container>=<new-image> 更新容器镜像(触发滚动更新)

四、调试与日志

命令 说明
kubectl logs <pod-name> 查看 Pod 日志
kubectl logs -f <pod-name> 实时跟踪日志(类似 tail -f
kubectl exec -it <pod-name> -- /bin/sh 进入 Pod 的 Shell 环境
kubectl port-forward <pod-name> 8080:80 将 Pod 端口转发到本地(如访问服务)
kubectl top pod 查看 Pod 资源使用(需安装 metrics-server)
kubectl get events --sort-by=.metadata.creationTimestamp 查看集群事件(按时间排序)

五、网络与服务

命令 说明
kubectl expose deploy/<name> --port=80 --type=NodePort 创建 Service 暴露 Deployment
kubectl get endpoints <service-name> 查看 Service 关联的 Pod IP
kubectl get ingress 查看 Ingress 配置

六、配置与存储

命令 说明
kubectl get configmaps 查看所有 ConfigMap
kubectl get secrets 查看所有 Secret
kubectl create secret generic <name> --from-file=<key>=<path> 创建 Secret

七、高级操作

命令 说明
kubectl patch <resource> <name> -p '{"spec": {"replicas": 2}}' 部分更新资源配置
kubectl label <resource> <name> key=value 添加/修改标签
kubectl annotate <resource> <name> key=value 添加/修改注解
kubectl get <resource> -o yaml > file.yaml 导出资源配置到 YAML 文件
kubectl delete pod --force --grace-period=0 <pod-name> 强制删除 Pod(慎用)

八、插件与工具

命令 说明
kubectl krew install <plugin> 使用 Krew 安装插件(如 ctx, ns
kubectl helm install <chart> 通过 Helm 安装应用(需安装 Helm)

常用示例场景

  1. 快速创建 Pod

    复制代码
    kubectl run nginx --image=nginx --port=80
  2. 查看所有命名空间的 Pod

    复制代码
    kubectl get pods -A
  3. 查看特定标签的 Pod

    复制代码
    kubectl get pods -l app=web
  4. 调试启动失败的 Pod

    复制代码
    kubectl describe pod/<name>  # 查看错误原因
    kubectl logs <pod-name> -c <container-name>  # 查看指定容器日志
相关推荐
预判你的代码4 分钟前
Docker 快速下载Neo4j 方法记录
docker·容器·neo4j
多吃蔬菜!!!13 分钟前
vscode 搭建C/C++开发环境搭建(linux)
linux·c语言·c++
李李李li21 分钟前
Ubuntu 22.04 安装tensorrt
linux·tensorrt
phoenix09812 小时前
Linux入门DAY29
linux·运维
入秋2 小时前
Linux服务器安装部署 Nginx、Redis、PostgreSQL、Docker
linux·前端
Mr. Cao code3 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278213 小时前
Linux 网络命令大全
linux·运维·网络
the sun343 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++
喜欢你,还有大家3 小时前
Linux笔记7——shell编程基础-1
linux·运维·笔记
运维成长记3 小时前
Top 100 Linux Interview Questions and Answers
linux·运维·服务器