文章目录K8s / K3s 通用 Kubectl 命令大全表格版一、核心查询命令最常用二、部署 生效命令三、Pod 排查 调试命令四、资源删除 清理五、副本 扩容管理六、镜像 私有仓库适配你Nexus七、命名空间操作八、适配你当前 K3s 环境使用格式九、关键总结十、 K8s 核心概念全梳理基础设施层Node 节点1. Node集群节点最小调度单元Pod2. Pod最小资源单元资源隔离与分组Namespace3. Namespace命名空间Pod 生命周期管理核心控制器4. Deployment无状态应用控制器5. ReplicaSet / ReplicationController6. StatefulSet有状态应用控制器7. DaemonSet8. Job / CronJob网络核心资源9. Service服务抽象10. Ingress / IngressController11. NetworkPolicy存储资源12. Volume存储卷13. PV / PVC14. ConfigMap / Secret控制平面核心组件Master资源配额与调度15. ResourceQuota / LimitRange16. Taint污点 Toleration容忍17. Label Selector权限与安全18. RBAC 权限体系核心层级关系总结极简记忆K8s / K3s 通用 Kubectl 命令大全表格版重点K3s 完全兼容标准 K8s 所有 kubectl 命令语法、参数、写法一模一样你现在环境docker exec -it k3s-server kubectl xxx原生 K8s 环境直接kubectl xxxkubectl K8s 的「命令行遥控器」kubectl 就是这个遥控器你通过kubectl发命令查看集群状态部署项目查看运行中的服务删除项目查看日志K8s 电视机kubectl 遥控器get nodes 按「电源键/菜单键」你不可能直接用手摸电视机核心必须用遥控器。操作 K8s 必须用 kubectlkubectl 就是操作 K8s 的命令行工具没有它你就无法控制 K8s 集群一、核心查询命令最常用命令作用场景说明kubectl get nodes查看集群所有节点看集群机器是否就绪、状态 Readykubectl get pods查看当前命名空间所有容器(Pod)看项目是否启动、Running/异常kubectl get pods -A查看全命名空间所有Pod排查系统组件、全部服务kubectl get svc查看所有Service服务看端口映射、NodePort、ClusterIPkubectl get deploy查看所有Deployment部署查看业务应用副本数、运行状态kubectl get ns查看所有命名空间k8s资源隔离kube-system/默认defaultkubectl 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 应用名 --replicas3手动扩容/缩容副本数量kubectl rollout restart deploy 应用名滚动重启项目不停机更新kubectl rollout status deploy 应用名查看滚动更新进度六、镜像 私有仓库适配你Nexus命令作用kubectl set image deploy 应用名 容器名镜像地址快速替换镜像版本无需改yaml你的场景示例直接切换Nexus新镜像不用改文件kubectl set image deploy spring-demo spring-demohost.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九、关键总结K3s 轻量K8skubectl 命令完全通用企业K8s直接照搬日常90%场景get / apply / logs / describe / delete足够你后续CI/CD自动部署Jenkins就是调用这些kubectl命令实现一键发布。十、 K8s 核心概念全梳理基础设施层Node 节点1. Node集群节点定义K8s 集群中的物理机/虚拟机/云服务器是集群硬件载体。分类Master 节点控制平面管理集群Worker 节点工作负载节点真正运行 Pod。核心组件每个Node必装kubelet节点代理接收 Master 指令管理本机 Pod 生命周期kube-proxy节点网络代理负责 Service 转发、负载均衡容器运行时containerd/docker负责容器启停。状态Ready/NotReady/DiskPressure/MemoryPressure核心作用提供计算、存储、网络资源承载所有业务容器。最小调度单元Pod2. Pod最小资源单元定义K8s最小创建、调度、管理单元不是容器一个 Pod 封装 1~N 个容器。核心特性同一Pod内所有容器共享网络栈IP、端口、网卡共享存储卷Volume容器生命周期绑定同启同停、同节点调度只有短暂生命周期不直接单独部署生产。Pod内容器类型业务容器主业务Nginx、Java 应用辅助容器日志收集、监控、数据同步sidecar 模式。Pod 生命周期Pending → Running → Succeeded/Failed → CrashLoopBackOff/ImagePullBackOff异常关键限制不建议单Pod多端口冲突、不跨节点拆分Pod。资源隔离与分组Namespace3. Namespace命名空间定义集群内逻辑资源隔离单元用于资源分组、权限隔离、配额限制。默认内置命名空间default默认所有资源无指定NS时归属kube-systemK8s 系统核心组件kube-apiserver、coredns等kube-public公共可读资源kube-node-lease节点心跳租约。核心用途多环境隔离dev/test/prod 分不同NS多租户隔离不同团队独立NS资源配额、限制单独配置。注意NS 仅逻辑隔离无网络强隔离需网络策略配合集群级资源Node、PV、CRD不属于任何NS。Pod 生命周期管理核心控制器Pod 本身不稳定生产绝不直接裸写Pod依靠控制器管理。4. Deployment无状态应用控制器最常用管理无状态服务Nginx、微服务、Web应用。能力弹性伸缩、滚动更新、回滚、副本数维持。关系Deployment → ReplicaSet → Pod5. ReplicaSet / ReplicationControllerReplicaSet维持指定数量Pod副本确保集群始终有N个正常PodRC旧版已被 RS 替代。6. StatefulSet有状态应用控制器管理有状态服务MySQL、Redis、MQ、Zookeeper。特性固定主机名、固定网络标识、有序启停、持久化存储独立绑定。7. DaemonSet集群每个Node/指定Node运行且仅运行1个Pod场景日志收集Filebeat、节点监控、网络插件。8. Job / CronJobJob一次性任务执行完成即销毁CronJob定时任务基于 cron 表达式周期执行。网络核心资源9. Service服务抽象问题Pod IP 动态变化、随时重建无法固定访问作用为一组Pod提供固定访问入口负载均衡。三种类型ClusterIP默认集群内部访问NodePort宿主机端口暴露外网可通过节点IP:端口访问LoadBalancer云厂商负载均衡公网访问。10. Ingress / IngressControllerService 仅四层转发Ingress 实现七层HTTP/HTTPS 路由功能域名路由、SSL证书、限流、路径转发依赖 Ingress ControllerNginx-ingress、Traefik。11. NetworkPolicy命名空间内/跨NS网络访问策略实现Pod之间防火墙规则做网络隔离。存储资源12. Volume存储卷解决容器数据临时问题给Pod挂载存储类型emptyDir、hostPath、ConfigMap挂载、PVC等。13. PV / PVCPV集群级持久化存储资源管理员创建PVC用户存储申请绑定PV供Pod挂载使用解耦存储申请与存储实现。14. ConfigMap / SecretConfigMap存放非敏感配置配置文件、环境变量Secret存放敏感数据密码、密钥、证书Base64加密存储。控制平面核心组件Masterkube-apiserver集群入口所有操作API网关鉴权、校验etcd集群唯一数据库存储所有K8s资源数据kube-controller-manager各类控制器总调度kube-scheduler调度器为新Pod选择合适Node节点。资源配额与调度15. ResourceQuota / LimitRangeResourceQuota命名空间级别限制总CPU/内存/Pod数量LimitRange限制单个Pod/容器资源上下限。16. Taint污点 Toleration容忍污点打在Node上排斥Pod容忍打在Pod上允许调度到带污点节点场景Master节点禁止业务Pod部署、专属节点隔离。17. Label SelectorLabel自定义标签给Pod/Node/Service打标记Selector标签选择器控制器、Service通过标签匹配管理Pod。权限与安全18. RBAC 权限体系User用户Role/ClusterRole权限规则命名空间级/集群级RoleBinding/ClusterRoleBinding权限绑定给用户/账号授权。核心层级关系总结极简记忆底层Node机器运行载体Pod容器集合生命周期管理Deployment/StatefulSet/DaemonSet 控制器访问入口Service Ingress逻辑隔离Namespace配置存储ConfigMap/Secret、PV/PVC管控核心Master组件 RBAC权限