深入理解 Kubernetes:从组件到实践
1. Kubernetes 基础架构与组件
Kubernetes 集群中有 Pod、Deployment、Service 和 Ingress 等对象,例如 Pod A2 和 Pod B1 被调度到 Node 2,每个 Deployment 都有对应的 Service(Service A 和 Service B),且它们在所有节点上都可用,Ingress 则用于将传入请求路由到这些 Service。然而,这些对象本身并非运行组件,而是不同类型期望状态的定义。
Kubernetes 由众多运行时组件构成,集群包含两种节点:主节点和工作节点。主节点负责管理集群,工作节点主要运行实际工作负载,如部署的容器。其重要组件如下:
- 控制平面(主节点运行组件) :
- API 服务器 :控制平面的入口,提供 RESTful API,供 kubectl 等工具使用。
- etcd :高可用的分布式键值存储,作为集群所有数据的数据库。
- 控制器管理器 :包含多个控制器,持续评估 etcd 数据库中对象的期望状态和当前状态。当状态发生变化时,负责该状态的控制器会采取行动使当前状态趋近期望状态。例如,负责管理 Pod 的复制控制器,在通过 API 服务器添加新 Pod 或删除运行中的 Pod 时会做出反应,确保启动新的 Pod;节点控制器则在节点不可用时采取行动,确保故障节点上的 Pod 能在集群其他节点上重新调度。
- 调度器 :负责将
超级会员免费看
订阅专栏 解锁全文
760

被折叠的 条评论
为什么被折叠?



