目录

k8s001K8s架构浅析

【k8s001】K8s架构浅析


Kubernetes 架构浅析

Control Plane

Worker Nodes

kube-apiserver

etcd

kube-scheduler

kube-controller-manager

kubelet

kube-proxy

Container Runtime

Kubernetes(简称 K8s)是一个用于管理容器化应用的系统,它的架构主要分为两部分: 控制平面(Control Plane)工作节点(Worker Nodes) 。它们协同工作,确保应用能够高效运行。

1. 控制平面(Control Plane)

控制平面是 Kubernetes 的大脑,负责管理和协调整个集群。它包含以下核心组件:

1.1 kube-apiserver

  • 作用 :作为集群的“总指挥”,接收所有的操作指令(比如部署应用、更新配置等),并验证这些指令是否合法。
  • 简单理解 :就像公司的前台,所有请求都必须经过它。

1.2 etcd

  • 作用 :存储集群的所有状态信息(比如 Pod 的位置、配置等),确保这些信息不会丢失。
  • 简单理解 :就像一个“记事本”,记录集群的每一件事。

1.3 kube-scheduler

  • 作用 :决定每个应用(Pod)应该运行在哪个节点上,根据资源需求和规则进行分配。
  • 简单理解 :就像一个“分配员”,把任务分配到最适合的机器上。

1.4 kube-controller-manager

  • 作用 :运行各种控制器,确保集群的实际状态与期望状态一致(比如自动重启失败的 Pod)。
  • 简单理解 :就像一个“监督员”,确保一切按计划进行。

2. 工作节点(Worker Nodes)

工作节点是实际运行应用的机器。每个节点包含以下组件:

2.1 kubelet

  • 作用 :管理节点上的 Pod,确保它们正常运行。
  • 简单理解 :就像一个“管家”,负责照顾每个应用的“家”。

2.2 kube-proxy

  • 作用 :管理网络流量,确保应用之间可以互相通信。
  • 简单理解 :就像一个“交通警察”,指挥网络流量。

2.3 容器运行时(如 Docker 或 containerd)

  • 作用 :运行容器,是应用的实际运行环境。
  • 简单理解 :就像一个“容器”,装着你的应用。

3. 架构优势

  • 高可用性 :控制平面可以部署多个实例,避免单点故障。
  • 弹性扩展 :可以随时增加或减少节点和应用副本。
  • 自动化管理 :自动检测故障并恢复,减少人工干预。