K8s / K3s 通用 Kubectl 命令大全(表格版)
2026/6/13 14:00:45 网站建设 项目流程

文章目录

  • K8s / K3s 通用 Kubectl 命令大全(表格版)
    • 一、核心查询命令(最常用)
    • 二、部署 & 生效命令
    • 三、Pod 排查 & 调试命令
    • 四、资源删除 & 清理
    • 五、副本 & 扩容管理
    • 六、镜像 & 私有仓库(适配你Nexus)
    • 七、命名空间操作
  • 八、适配你当前 K3s 环境使用格式
  • 九、关键总结
  • 十、 K8s 核心概念全梳理
    • 基础设施层:Node 节点
      • 1. Node(集群节点)
    • 最小调度单元:Pod
      • 2. Pod(最小资源单元)
    • 资源隔离与分组:Namespace
      • 3. Namespace(命名空间)
    • Pod 生命周期管理(核心控制器)
      • 4. Deployment(无状态应用控制器)
      • 5. ReplicaSet / ReplicationController
      • 6. StatefulSet(有状态应用控制器)
      • 7. DaemonSet
      • 8. Job / CronJob
    • 网络核心资源
      • 9. Service(服务抽象)
      • 10. Ingress / IngressController
      • 11. NetworkPolicy
    • 存储资源
      • 12. Volume(存储卷)
      • 13. PV / PVC
      • 14. ConfigMap / Secret
    • 控制平面核心组件(Master)
    • 资源配额与调度
      • 15. ResourceQuota / LimitRange
      • 16. Taint(污点)& Toleration(容忍)
      • 17. Label & Selector
    • 权限与安全
      • 18. RBAC 权限体系
  • 核心层级关系总结(极简记忆)

K8s / K3s 通用 Kubectl 命令大全(表格版)

重点:K3s 完全兼容标准 K8s 所有 kubectl 命令,语法、参数、写法一模一样
你现在环境:docker exec -it k3s-server kubectl xxx
原生 K8s 环境:直接kubectl xxx

kubectl = K8s 的「命令行遥控器」

kubectl 就是这个遥控器!

你通过kubectl发命令:

  • 查看集群状态

  • 部署项目

  • 查看运行中的服务

  • 删除项目

  • 查看日志

  • K8s = 电视机

  • kubectl = 遥控器

  • get nodes = 按「电源键/菜单键」

你不可能直接用手摸电视机核心,必须用遥控器。
操作 K8s 必须用 kubectl!

kubectl 就是操作 K8s 的命令行工具
没有它,你就无法控制 K8s 集群!

一、核心查询命令(最常用)

命令作用场景说明
kubectl get nodes查看集群所有节点看集群机器是否就绪、状态 Ready
kubectl get pods查看当前命名空间所有容器(Pod)看项目是否启动、Running/异常
kubectl get pods -A查看全命名空间所有Pod排查系统组件、全部服务
kubectl get svc查看所有Service服务看端口映射、NodePort、ClusterIP
kubectl get deploy查看所有Deployment部署查看业务应用副本数、运行状态
kubectl get ns查看所有命名空间k8s资源隔离:kube-system/默认default
kubectl get all查看当前空间所有资源快速一览:Pod/Service/Deployment

二、部署 & 生效命令

命令作用
kubectl apply -f xxx.yaml通过yaml创建/更新资源(日常首选
kubectl create -f xxx.yaml纯新建资源,不能更新
kubectl delete -f xxx.yaml根据yaml删除整套资源
kubectl delete pod pod名称强制删除单个Pod,自动重建

三、Pod 排查 & 调试命令

命令作用
kubectl logs pod名称查看容器日志(排错核心)
kubectl logs -f pod名称实时滚动查看日志
kubectl exec -it pod名称 -- /bin/bash进入容器内部终端
kubectl describe pod pod名称查看Pod详细报错、启动失败原因

四、资源删除 & 清理

命令作用
kubectl delete deploy 应用名删除整个部署(所有Pod一起删)
kubectl delete svc 服务名删除Service端口暴露规则
kubectl delete ns 命名空间名删除整个命名空间(清空所有资源)

五、副本 & 扩容管理

命令作用
kubectl scale deploy 应用名 --replicas=3手动扩容/缩容副本数量
kubectl rollout restart deploy 应用名滚动重启项目(不停机更新)
kubectl rollout status deploy 应用名查看滚动更新进度

六、镜像 & 私有仓库(适配你Nexus)

命令作用
kubectl set image deploy 应用名 容器名=镜像地址快速替换镜像版本,无需改yaml

你的场景示例:
直接切换Nexus新镜像,不用改文件
kubectl set image deploy spring-demo spring-demo=host.docker.internal:8081/docker-hosted/spring-demo:15

七、命名空间操作

命令作用
kubectl get ns列出所有命名空间
kubectl create ns test新建命名空间
kubectl get pods -n kube-system指定命名空间查询资源

八、适配你当前 K3s 环境使用格式

你现在不能直接敲kubectl,要加容器前缀:

# 格式固定dockerexec-itk3s-server kubectl 上面所有命令# 举例dockerexec-itk3s-server kubectl get podsdockerexec-itk3s-server kubectl apply-f/springboot-deploy.yaml

九、关键总结

  1. K3s = 轻量K8s,kubectl 命令完全通用,企业K8s直接照搬;
  2. 日常90%场景:get / apply / logs / describe / delete足够;
  3. 你后续CI/CD自动部署,Jenkins就是调用这些kubectl命令,实现一键发布。

十、 K8s 核心概念全梳理

基础设施层:Node 节点

1. Node(集群节点)

  • 定义:K8s 集群中的物理机/虚拟机/云服务器,是集群硬件载体。
  • 分类
    1. Master 节点:控制平面,管理集群;
    2. Worker 节点:工作负载节点,真正运行 Pod。
  • 核心组件(每个Node必装)
    1. kubelet:节点代理,接收 Master 指令,管理本机 Pod 生命周期;
    2. kube-proxy:节点网络代理,负责 Service 转发、负载均衡;
    3. 容器运行时containerd/docker,负责容器启停。
  • 状态:Ready/NotReady/DiskPressure/MemoryPressure
  • 核心作用:提供计算、存储、网络资源,承载所有业务容器。

最小调度单元:Pod

2. Pod(最小资源单元)

  • 定义:K8s最小创建、调度、管理单元不是容器,一个 Pod 封装 1~N 个容器。
  • 核心特性
    1. 同一Pod内所有容器共享网络栈(IP、端口、网卡);
    2. 共享存储卷(Volume);
    3. 容器生命周期绑定,同启同停、同节点调度;
    4. 只有短暂生命周期,不直接单独部署生产。
  • Pod内容器类型
    • 业务容器:主业务(Nginx、Java 应用);
    • 辅助容器:日志收集、监控、数据同步(sidecar 模式)。
  • Pod 生命周期
    Pending → Running → Succeeded/Failed → CrashLoopBackOff/ImagePullBackOff(异常)
  • 关键限制:不建议单Pod多端口冲突、不跨节点拆分Pod。

资源隔离与分组:Namespace

3. Namespace(命名空间)

  • 定义:集群内逻辑资源隔离单元,用于资源分组、权限隔离、配额限制。
  • 默认内置命名空间
    1. default:默认所有资源无指定NS时归属;
    2. kube-system:K8s 系统核心组件(kube-apiserver、coredns等);
    3. kube-public:公共可读资源;
    4. kube-node-lease:节点心跳租约。
  • 核心用途
    1. 多环境隔离:dev/test/prod 分不同NS;
    2. 多租户隔离:不同团队独立NS;
    3. 资源配额、限制单独配置。
  • 注意
    • NS 仅逻辑隔离,无网络强隔离(需网络策略配合);
    • 集群级资源(Node、PV、CRD)不属于任何NS

Pod 生命周期管理(核心控制器)

Pod 本身不稳定,生产绝不直接裸写Pod,依靠控制器管理。

4. Deployment(无状态应用控制器)

  • 最常用,管理无状态服务(Nginx、微服务、Web应用)。
  • 能力:弹性伸缩、滚动更新、回滚、副本数维持。
  • 关系:Deployment → ReplicaSet → Pod

5. ReplicaSet / ReplicationController

  • ReplicaSet:维持指定数量Pod副本,确保集群始终有N个正常Pod;
  • RC:旧版,已被 RS 替代。

6. StatefulSet(有状态应用控制器)

  • 管理有状态服务:MySQL、Redis、MQ、Zookeeper。
  • 特性:固定主机名、固定网络标识、有序启停、持久化存储独立绑定。

7. DaemonSet

  • 集群每个Node/指定Node运行且仅运行1个Pod;
  • 场景:日志收集(Filebeat)、节点监控、网络插件。

8. Job / CronJob

  • Job:一次性任务,执行完成即销毁;
  • CronJob:定时任务,基于 cron 表达式周期执行。

网络核心资源

9. Service(服务抽象)

  • 问题:Pod IP 动态变化、随时重建,无法固定访问;
  • 作用:为一组Pod提供固定访问入口+负载均衡
  • 三种类型
    1. ClusterIP(默认):集群内部访问;
    2. NodePort:宿主机端口暴露,外网可通过节点IP:端口访问;
    3. LoadBalancer:云厂商负载均衡,公网访问。

10. Ingress / IngressController

  • Service 仅四层转发,Ingress 实现七层HTTP/HTTPS 路由
  • 功能:域名路由、SSL证书、限流、路径转发;
  • 依赖 Ingress Controller(Nginx-ingress、Traefik)。

11. NetworkPolicy

  • 命名空间内/跨NS网络访问策略,实现Pod之间防火墙规则,做网络隔离。

存储资源

12. Volume(存储卷)

  • 解决容器数据临时问题,给Pod挂载存储;
  • 类型:emptyDir、hostPath、ConfigMap挂载、PVC等。

13. PV / PVC

  • PV:集群级持久化存储资源(管理员创建);
  • PVC:用户存储申请,绑定PV,供Pod挂载使用;
  • 解耦存储申请与存储实现。

14. ConfigMap / Secret

  • ConfigMap:存放非敏感配置(配置文件、环境变量);
  • Secret:存放敏感数据(密码、密钥、证书),Base64加密存储。

控制平面核心组件(Master)

  1. kube-apiserver:集群入口,所有操作API网关,鉴权、校验;
  2. etcd:集群唯一数据库,存储所有K8s资源数据;
  3. kube-controller-manager:各类控制器总调度;
  4. kube-scheduler:调度器,为新Pod选择合适Node节点。

资源配额与调度

15. ResourceQuota / LimitRange

  • ResourceQuota:命名空间级别,限制总CPU/内存/Pod数量;
  • LimitRange:限制单个Pod/容器资源上下限。

16. Taint(污点)& Toleration(容忍)

  • 污点:打在Node上,排斥Pod;
  • 容忍:打在Pod上,允许调度到带污点节点;
  • 场景:Master节点禁止业务Pod部署、专属节点隔离。

17. Label & Selector

  • Label:自定义标签,给Pod/Node/Service打标记;
  • Selector:标签选择器,控制器、Service通过标签匹配管理Pod。

权限与安全

18. RBAC 权限体系

  • User:用户;
  • Role/ClusterRole:权限规则(命名空间级/集群级);
  • RoleBinding/ClusterRoleBinding:权限绑定,给用户/账号授权。

核心层级关系总结(极简记忆)

  1. 底层:Node机器
  2. 运行载体:Pod(容器集合)
  3. 生命周期管理:Deployment/StatefulSet/DaemonSet 控制器
  4. 访问入口:Service + Ingress
  5. 逻辑隔离:Namespace
  6. 配置&存储:ConfigMap/Secret、PV/PVC
  7. 管控核心:Master组件 + RBAC权限

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询