购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

1.3 Kubernetes架构与组件

Kubernetes架构由管理节点和工作节点,以及一个键值存储系统(etcd)组成,如图1-3所示。

图1-3 Kubernetes集群架构

1.管理节点

管理节点(master node,以下简称Master)是Kubernetes集群的控制中心,负责监控整个集群的状态、资源调度和响应集群事件等。其主要组件如下所示。

(1)kube-apiserver:提供Kubernetes API服务,负责处理外部和内部组件的请求,并将这些操作存储到etcd中。

(2)etcd:一个分布式键值存储系统,用于存储Kubernetes集群的数据。etcd是由CoreOS开源的,它并不属于Kubernetes集群本身,因此etcd可以独立于集群进行部署。

(3)kube-controller-manager:负责管理多个控制器的程序。这些控制器包括但不限于以下控制器。

Node Controller(节点控制器):负责监控节点状态,并在节点出现故障时进行响应。

Replication Controller(副本控制器):负责确保在集群中运行特定数量的Pod副本。

Job Controller(任务控制器):负责监控Job对象,并生成相应的Pod来执行任务。

Endpoint Controller(端点控制器):负责管理与Service相应的Endpoint对象,确保Endpoint关联正确的Pod IP地址。

这些控制器负责维护集群的不同方面,确保整个集群的状态符合预期。

(4)kube-scheduler:根据预定的算法,将未指定节点的Pod分配到合适的节点上。

2.工作节点

工作节点(worker node,以下简称Node)是Kubernetes集群的工作节点,它提供运行容器所需的资源和环境。它的主要组件如下所示。

kubelet:运行在每个节点上,负责管理Pod和容器的生命周期,如启动容器、挂载数据卷、获取容器状态以及向管理节点汇报等。

kube-proxy:也是运行在每个节点上,负责实现集群内部的网络代理和负载均衡器功能。

container-runtime(容器运行时):实际运行和管理容器的服务。Kubernetes支持多种容器运行时,如docker、containerd、cri-o等,以及其他支持Kubernetes CRI(Container Runtime Interface,容器运行时接口)的实现。 SQfSdeqG2YrbRlNYzJGd5ZzLCGnRI50x/WJzK9cj0KrbB3A+VOIU3klgxrNIs6CP

点击中间区域
呼出菜单
上一章
目录
下一章
×