K8S命令最全详解(2026最新版)

K8S是云原生,以及云计算核心,下面我详解K8S@mikechen

一、查看类命令(最常用)

1、查看集群节点

kubectl get nodes

作用:

查看当前 Kubernetes 集群中的所有节点。

输出示例:

NAME       STATUS   ROLES           AGE   VERSION
master-1   Ready    control-plane   30d   v1.30.0
worker-1   Ready    <none>          29d   v1.30.0

常见场景:

  • 节点是否在线;
  • 节点是否 Ready;
  • 集群机器状态检查;

2、查看 Pod

kubectl get pods

查看当前 namespace 下的 Pod。

更常用:

kubectl get pods -A

含义:

  • -A = all namespaces;

输出:

NAMESPACE     NAME                          STATUS
kube-system   coredns-xxxxx                 Running
default       order-service-xxxxx           Running

这是使用频率最高的命令之一。

3、查看 Pod 详细信息

kubectl describe pod pod-name

作用:

查看 Pod 的完整运行信息。

包括:

  • IP;
  • Node;
  • 镜像;
  • 挂载;
  • 事件;
  • 调度失败原因;

排障核心命令。

例如:

kubectl describe pod nginx-7c6fdb

重点看:

Events:

很多问题都在这里。

4、查看 Deployment

kubectl get deployments

作用:

查看部署控制器。

示例:

kubectl get deploy

这是简写。

5、查看 Service

kubectl get svc

作用:

查看服务暴露情况。

输出:

NAME         TYPE        CLUSTER-IP
order-svc    ClusterIP   10.96.0.1

核心用于:

  • 服务发现;
  • 端口暴露;
  • 负载均衡;

二、日志与排障命令(高频)

6、查看 Pod 日志

kubectl logs pod-name

例如:

kubectl logs order-service

查看实时日志:

kubectl logs -f order-service

参数:

  • -f = follow

类似 Linux:

tail -f

这是生产环境排障最核心命令之一。

7、进入 Pod 容器

kubectl exec -it pod-name -- /bin/bash

例如:

kubectl exec -it nginx-pod -- /bin/bash

Alpine 镜像通常没有 bash:

kubectl exec -it nginx-pod -- /bin/sh

核心用途:

  • 查看配置;
  • 网络测试;
  • JVM 排查;
  • 文件检查;

非常高频。

8、查看 Pod 资源使用

kubectl top pod

查看:

  • CPU
  • Memory

例如:

kubectl top pod -A

依赖:

metrics-server

没有安装会报错。

9、查看节点资源使用

kubectl top nodes

用于:

  • 节点 CPU 是否打满;
  • 内存是否爆掉;

高并发场景非常关键。

三、部署与发布命令(核心)

10、创建资源

kubectl apply -f xxx.yaml

例如:

kubectl apply -f deployment.yaml

作用:

将 YAML 配置应用到集群。

这是 Kubernetes 最核心命令。

本质:

声明式部署。

11、删除资源

kubectl delete -f xxx.yaml

例如:

kubectl delete -f nginx.yaml

也可以直接删除:

kubectl delete pod pod-name

12、重启 Deployment

kubectl rollout restart deployment deployment-name

例如:

kubectl rollout restart deployment order-service

作用:

滚动重启。

不会直接中断服务。

生产环境非常常见。

13、查看发布状态

kubectl rollout status deployment deployment-name

例如:

kubectl rollout status deployment order-service

作用:

查看是否发布成功。

14、回滚 Deployment

kubectl rollout undo deployment deployment-name

例如:

kubectl rollout undo deployment order-service

作用:

版本回滚。

这是线上事故救命命令。

四、扩缩容命令(高并发核心)

15、扩容副本数

kubectl scale deployment order-service --replicas=5

作用:

快速扩容。

高并发场景:

  • 秒杀;
  • 大促;
  • 流量突增;

非常常见。

16、自动扩缩容(HPA)

kubectl autoscale deployment order-service --cpu-percent=80 --min=2 --max=10

作用:

自动根据 CPU 扩容。

核心机制:

  • CPU 超过 80%
  • 自动增加 Pod

这是 K8S 弹性伸缩核心能力。

五、配置管理命令

17、查看 ConfigMap

kubectl get configmap

简写:

kubectl get cm

作用:

查看配置中心。

K8S 中:

  • Nginx 配置
  • Spring Boot 配置
  • 环境变量

经常放这里。

18、查看 Secret

kubectl get secret

作用:

查看敏感配置。

例如:

  • 数据库密码;
  • Token;
  • TLS证书;

注意:默认 Base64 编码。

不是加密。

六、Namespace 管理(非常重要)

19、查看 Namespace

kubectl get ns

作用:

查看命名空间。

K8S 中:

  • 不同业务
  • 不同环境
  • 不同团队

通常都会隔离 namespace。

例如:

dev
test
prod

 

评论交流
    说说你的看法