Skip to content

Kubernetes 导览

Kubernetes 是一个以 API 和控制循环为核心的分布式系统。用户提交期望状态,控制平面保存并传播事实,控制器、调度器、kubelet 和数据面组件持续把实际状态向目标收敛。它负责部署和治理容器应用,但不负责构建镜像,也不替代应用本身的事务、数据复制和容灾设计。

Kubernetes 控制循环

阅读路径

这组文档按“系统机制、资源对象、生产治理、平台扩展”组织,不要求按资源名称从头背到尾。

阶段先解决的问题文档入口
建立系统模型API 请求怎样写入事实,控制器如何发现并修正偏差控制面、API 与调谐
跟踪 Pod 落地scheduler 如何选节点,kubelet、CRI、探针和终止怎样接力调度与节点生命周期
跟踪真实请求CNI、DNS、Service 和 CSI 链路经过哪些组件数据面、存储与可靠性
组合应用资源Pod、Deployment、Service、Secret、PVC 等怎样分工资源对象导览
建立可靠性故障域、QoS、HPA、节点扩容和恢复演练怎样闭环可靠性、弹性与容量
进入生产怎样设置发布、安全和排障基线生产实践
建立证据链怎样关联指标、日志、Trace、Events 和审计可观测性与证据链
管理生命周期如何检查版本偏差、废弃 API、组件兼容和回退边界版本与升级
扩展平台CRD、Operator、扩展接口、流量、GitOps 和平台 API 如何协作进阶扩展

配套的 24 集进阶视频已经全部公开,逐集链接和正文映射见 Kubernetes 进阶视频系列

Kubernetes 解决什么问题

单机容器工具可以启动进程,但无法单独解决跨节点调度、副本恢复、服务发现、滚动发布、集群级权限和统一观测。Kubernetes 把这些问题拆成可以组合的 API 对象和控制器。

工程问题Kubernetes 机制仍需应用或平台负责
进程退出、节点失联控制器补副本,kubelet管理节点上的 Pod正确的探针、优雅停机和故障冗余
副本地址变化Service、DNS、EndpointSlice协议超时、重试、幂等和连接池
跨节点放置scheduler、资源请求、亲和性、拓扑分布容量模型和跨可用区成本
配置与凭据注入ConfigMap、Secret、ServiceAccount密钥系统、轮换、审计和应用热加载
持久卷挂载PV、PVC、StorageClass、CSI数据库复制、备份、恢复和一致性
自动扩缩HPA、节点扩缩组件、外部指标可水平扩展的应用和可信指标

一次变更的完整路径

以修改 Deployment 镜像为例,成功响应只表示 API 请求已经被接受,不表示新版本已经对外提供服务。

  1. 客户端把对象发送到 kube-apiserver。
  2. 请求经过认证、授权、准入和字段校验,再写入存储。
  3. Deployment 控制器观察到新期望,更新 ReplicaSet。
  4. ReplicaSet 控制器创建新 Pod,scheduler 为其选择节点。
  5. 目标节点上的 kubelet 拉取镜像并通过 CRI 创建容器。
  6. 就绪探针通过后,EndpointSlice 才把 Pod 纳入 Service 后端。
  7. 发布控制器根据 maxSurgemaxUnavailable 和 Pod 状态继续推进。

因此排查发布不能只看 kubectl apply 的返回值,应同时检查 rollout、Pod Conditions、Events、EndpointSlice 和应用指标。

bash
kubectl rollout status deploy/order-api -n orders
kubectl get deploy,rs,pod -n orders -o wide
kubectl get endpointslice -n orders -l kubernetes.io/service-name=order-api
kubectl get events -n orders --sort-by=.metadata.creationTimestamp

控制平面和工作节点

区域组件主要职责常见证据
控制平面kube-apiserverAPI 入口、认证授权、准入和对象读写审计日志、请求延迟、错误码
控制平面etcd保存 API 对象的持久状态提交延迟、空间、成员健康
控制平面kube-scheduler为未绑定 Pod 选择节点PodScheduled Condition、调度 Events
控制平面controller-manager运行内置控制循环对象状态、Events、工作队列指标
工作节点kubelet协调 Pod、卷、探针和容器生命周期Pod Conditions、kubelet 日志
工作节点CRI 运行时拉取镜像、创建和停止容器容器状态、运行时日志
数据面CNI、Service 实现Pod 联网和 Service 转发EndpointSlice、路由、连接指标

当前版本基线

截至 2026-07-18,Kubernetes 官方维护 1.36、1.35、1.34 三个小版本分支。本文只把这一信息作为阅读和实验基线;生产集群应选择受支持分支的当前补丁版本,并在升级前重新核对版本偏差、废弃 API 和生态组件兼容矩阵。

版本相关判断集中在 版本与升级,避免把易变数字散落到所有长期文章。

按现象进入文档

现象先看哪里
apply 成功但对象不收敛控制面、API 与调谐
Pod Pending、拉镜像失败或探针不通过调度与节点生命周期Pod
Service 有地址但请求失败数据面、存储与可靠性Service
PVC Pending 或卷无法挂载PV 与 PVC数据面、存储与可靠性
扩缩容不稳定、容量仍然不足可靠性、弹性与容量HPA
Gateway、Cilium 或 Mesh 路径异常流量工程
权限拒绝、策略阻断或制品不可信GitOps、策略与供应链
CR 一直 Terminating、Operator 重复执行CRDOperator
有告警但无法定位到具体控制环可观测性与证据链
升级后 API 或扩展组件异常版本与升级
别急,先让缓存热一下。