基于 Kubernetes v1.37 源码(pkg/proxy/、pkg/controller/endpointslice/) 一、为什么需要网络抽象? @ Kubernetes 中 Pod 是短暂的,IP 会变化,多个 Pod 需要统一访问入口:
基于 Kubernetes v1.37 源码(pkg/kubelet/) 一、Kubelet 的职责 @ Kubelet 是运行在每个节点上的节点代理,其核心职责是管理 Pod 的生命周期: 调度器将 Pod 调度到节点 ↓ kubelet 监听到 Pod 分配 ↓ 创建容器(通过 CRI) ↓ 监控容器状态 ↓ 上 …
基于 Kubernetes v1.37 源码(pkg/volume/、pkg/controller/volume/) 一、为什么需要存储抽象? @ 容器本身是无状态的,重启后数据丢失。但大多数应用需要持久化存储:
基于 Kubernetes v1.37 源码(staging/src/k8s.io/apiserver/) 一、API Server 的职责 @ API Server 是 Kubernetes 集群的唯一入口,所有组件都通过它与集群交互:
基于 Kubernetes v1.37 源码(pkg/scheduler/) 一、调度器的职责 @ 调度器的核心任务只有一个:为待调度的 Pod 找到最合适的节点。 用户创建 Pod(未指定 nodeName) ↓ API Server 将 Pod 写入 etcd ↓ 调度器监听到新 Pod ↓ 为 Pod 选择最优 …
基于 Kubernetes v1.37 源码(pkg/controller/deployment/、pkg/controller/replicaset/) 一、什么是控制器? @ 在 Kubernetes 中,控制器(Controller) 是一个永不休止的控制循环,它监控集群中资源对象的实际状态,并驱动其向用户声明 …
基于 Kubernetes v1.37 源码(pkg/apis/core/types.go) 一、一切始于一个信封 @ Kubernetes 的所有资源对象,都共享同一个"信封"结构: