K8s 架构图中的 Master 和 Node

发布时间:2021年11月13日 阅读:536 次

 K8s 架构图中的 MasterNode

 K8s 架构图中的 Master 和 Node

Master 节点结构如下:

apiserver 即 K8s 网关,所有的指令请求都必须要经过 apiserver。

Scheduler 调度器,使用调度算法,把请求资源调度到某一个 Node 节点。

Controller 控制器,维护 K8s 资源对象。

etcd 存储资源对象。

Node 节点结构如下:

Kubelet 在每一个 Node 节点都存在一份,在 Node 节点上的资源操作指令由 Kubelet 来执行

Kube-proxy 代理服务,处理服务间负载均衡。

Pod 是 K8s 管理的基本单元(最小单元),Pod 内部是容器,K8s 不直接管理容器,而是管理 Pod。

Docker 运行容器的基础环境,容器引擎。

Fluentd 日志收集服务。

在介绍完 K8s 架构后,我们又引入了很多技术名词。不要着急,先有整体概念,再各个击破。请耐心阅读下文,相信你一定会有不一样的收获。

K8s 核心组件

①K8s 组件

K8s 是用来管理容器,但是不直接操作容器,最小操作单元是 Pod (间接管理容器):

一个 Master 有一群 Node 节点与之对应。

Master 节点不存储容器,只负责调度、网管、控制器、资源对象存储。

容器的存储在 Node 节点,容器是存储在 Pod 内部的)。

Pod 内部可以有一个容器,或者多个容器。

Kubelet 负责本地 Pod 的维护。

Kube-proxy 负责负载均衡,在多个 Pod 之间来做负载均衡。

②Pod 是什么?

解释如下:

Pod 也是一个容器,这个容器中装的是 Docker 创建的容器,Pod 用来封装容器的一个容器,Pod 是一个虚拟化分组。

Pod 相当于独立主机,可以封装一个或者多个容器。

Pod 有自己的 IP 地址、主机名,相当于一台独立沙箱环境。

③Pod 到底用来干什么?

通常情况下,在服务部署时候,使用 Pod 来管理一组相关的服务。一个 Pod 中要么部署一个服务,要么部署一组有关系的服务。

一组相关的服务是指:在链式调用的调用连路上的服务。

④Web 服务集群如何实现?

实现服务集群:只需要复制多方 Pod 的副本即可,这也是 K8s 管理的先进之处,K8s 如果继续扩容,只需要控制 Pod 的数量即可,缩容道理类似。

 K8s 架构图中的 Master 和 Node

⑤Pod 底层网络,数据存储是如何进行的?

具体如下:

Pod 内部容器创建之前,必须先创建 Pause 容器。

服务容器之间访问 localhost ,相当于访问本地服务一样,性能非常高。

⑥ReplicaSet 副本控制器

控制 Pod 副本「服务集群」的数量,永远与预期设定的数量保持一致即可。

当有 Pod 服务宕机时候,副本控制器将会立马重新创建一个新的 Pod,永远保证副本为设置数量。

副本控制器:标签选择器-选择维护一组相关的服务(它自己的服务)

ReplicationController 副本控制器:单选。

ReplicaSet 副本控制器:单选,复合选择。


Tag:架构 Master Node
相关文章

发表评论: