Kubernetes 是一个围绕“期望状态”工作的容器编排系统。用户把 Deployment、Service 等对象提交给 API Server;控制器持续比较期望状态与实际状态并执行收敛。运维排障时,应先判断是“声明错误、调度 失败、节点执行失败、网络/存储链路异常,还是应用自身异常”。

1.1 控制平面及其工作节点
1.2 声明式对象的通用结构
apiVersion: apps/v1 # API 组与版本
kind: Deployment # 资源类型
metadata:
name: web-demo
namespace: ops-lab
labels:
app: web-demo
spec: # 期望状态
replicas: 2
selector:
matchLabels:
app: web-demo
template:
metadata:
labels:
app: web-demo
spec:
containers:
- name: web
image: nginx:1.27-alpine
1.3 对象关系与所有权
• Deployment 创建并管理 ReplicaSet;ReplicaSet 再创建 Pod。删除某个 Pod 后,控制器会补回新 Pod。
• StatefulSet 管理有序、稳定身份的 Pod;通常与 Headless Service、volumeClaimTemplates 配合。
• Service 不创建 Pod,它通过 selector 生成 EndpointSlice,形成到 Ready Pod 的后端列表。
• ConfigMap/Secret 提供配置;PV/PVC 表示存储供给与申请;Ingress 表示七层入口规则,必须有 Ingress Controller 才会真正转发
1.4 从创建到运行的简化链路
• kubectl 将 YAML 发送给 API Server;API Server 完成认证、RBAC 鉴权、准入与字段校验。
• 对象写入存储;Deployment Controller 创建 ReplicaSet 与 Pod。
• Scheduler 为 Pending Pod 选择节点并写入绑定结果。
• 目标节点 kubelet 调用容器运行时拉镜像、准备网络和存储、启动容器并执行探针。
• Pod Ready 后被加入 Service 的 EndpointSlice;外部流量才可能沿 Ingress → Service → Pod 到达应用。