目录

k8s001K8s架构浅析

【k8s001】K8s架构浅析


Control Plane

Worker Nodes

kube-apiserver

etcd

kube-scheduler

kube-controller-manager

kubelet

kube-proxy

Container Runtime

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

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

  • 作用 :作为集群的“总指挥”,接收所有的操作指令(比如部署应用、更新配置等),并验证这些指令是否合法。
  • 简单理解 :就像公司的前台,所有请求都必须经过它。
  • 作用 :存储集群的所有状态信息(比如 Pod 的位置、配置等),确保这些信息不会丢失。
  • 简单理解 :就像一个“记事本”,记录集群的每一件事。
  • 作用 :决定每个应用(Pod)应该运行在哪个节点上,根据资源需求和规则进行分配。
  • 简单理解 :就像一个“分配员”,把任务分配到最适合的机器上。
  • 作用 :运行各种控制器,确保集群的实际状态与期望状态一致(比如自动重启失败的 Pod)。
  • 简单理解 :就像一个“监督员”,确保一切按计划进行。

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

  • 作用 :管理节点上的 Pod,确保它们正常运行。
  • 简单理解 :就像一个“管家”,负责照顾每个应用的“家”。
  • 作用 :管理网络流量,确保应用之间可以互相通信。
  • 简单理解 :就像一个“交通警察”,指挥网络流量。
  • 作用 :运行容器,是应用的实际运行环境。
  • 简单理解 :就像一个“容器”,装着你的应用。
  • 高可用性 :控制平面可以部署多个实例,避免单点故障。
  • 弹性扩展 :可以随时增加或减少节点和应用副本。
  • 自动化管理 :自动检测故障并恢复,减少人工干预。