# 一、Kubernetes的整体架构
学习k8s,最终目的是为了部署应用,部署一个完整的k8s, 就要知道k8s的组成 。k8s主要包含两大部分: 中间包含三个绿色包的是master服务器. 下面是node节点.
在这里提前说一下etcd,etcd是k8s集群的一个数据库存储服务器 。它采用了RAFT算法来选举主节点,所以,要求我们的master节点个数必须是3,5,7,9这样的奇数,也就是大于1的奇数个 。3个节点可以保证1次高可用,5个节点可以保证两次高可用,7个节点可以保证3次高可用 。以此类推 。也就是3个节点最多可以死一次 。5个节点最多可以死2次 。node节点的个数不限制 。
<img src="http://shimg.jingyanzongjie.com/230728/0644405358-0.png" alt="img" style="zoom:50%;" />
上图是k8s的简单架构图 。可以看到有如下几个部分:
- master节点:左上角的最大快区域,是我们整个k8s的核心 。上面说的大于1的奇数个节点,说的就是这里 。- node节点:- etcd存储端:用来存储k8s中的数据的,主要采用Raft算法 。- internet网络层:- firewall防火墙:- web UI:- kubectl:
# 二、Master节点
master节点在整个服务中起着至关重要的作用
master中主要有三个部分的内容:scheduler,控制器,api server 。
## 1、Api Server
api server是所有服务请求访问统一的入口(所有请求的统一的入口) 。如果想要给k8s下达命令,不管是什么类型的命令,都需要发送给api servier 。
Api Server 本身是一个HTTP Server,也就是一个web服务器,它是无状态的 。它的所有数据都会写入到Etcd 。如果你想要管Api Server要数据,它本身是没有的,他会去Etcd里面查询,然后返回给你 。
从上图可以看出. Master中scheduler需要和api server交互, rc要和api server交互, kubectl(客户端)也要和api sever交互, web UI也要和api server交互, etcd也要和api server交互. apiserver是非常繁忙的.
api server采用的是无状态http请求,所以,他不会记录任何数据,所有数据都存储在etcd上 。
Kubernetes API 服务器的主要实现是 kube-apiserver 。kube-apiserver 设计上考虑了水平伸缩,也就是说,我们可以通过部署多个实例进行伸缩 。你可以运行 kube-apiserver 的多个实例,并在这些实例之间平衡流量 。
## 2、Scheduler 任务调度器
scheduler是k8s本身的一个调度器,这个调度器可以存在多个组成高可用 。
scheduler是任务调度器, 负责调度任务, 选择合适的节点来执行任务. 当用户下达资源请求的时候,任务调度器会把任务分配给后端的多个node节点上,要基于一定的原则,**公平的**,快速的分发 。也就是说,保证每个节点都有事做,不要浪费资源,做到资源利用最大化 。所以,scheduler调度区非常关键,**他是保证整个集群资源利用高不高的核心组件 。**
举个例子,一个任务来了, 要部署一个应用,到底应该部署在哪个节点上呢? 这个过程就是通过scheduler进行任务调度的 。有的机器繁忙,有的机器空闲,scheduler会找一台空闲的机器进行部署 。通过scheduler进行任务调度分发至不同的node.
scheduler会将任务交给api server, 由api server将任务写入到etcd, 也就是说scheduler不会直接和etcd交互 。
## 3、controller-manager 控制器管理器
controller-manager: 控制器, 处理集群中常规后台任务,一个资源对应一个控制器 。假如集群中有的pod已经死了,控制管理器就会处理将其删除或者救活 。集群中的扩容,维稳都是有控制管理器来实现的 。相当于是集群的管家 。
举例来说,有一个订单服务,我们要部署这个服务,首先是交给任务调度器,任务调度器调用api server,将信息保存到etcd,etcd会创建一个controller-manager来专门管理这个订单服务 。通常来说,一个资源对应一个控制器 。
经验总结扩展阅读
- 斯洛文尼亚是哪个国家
- 2023年农历七月廿四搬迁吉日 2023年9月8日搬迁吉日一览表
- 白山茶指什么女孩子
- 海龟是两栖动物吗
- 孟县属于哪个省哪个市
- 5一6级风能出门吗
- 小白鞋变黄怎么洗干净
- 盒装牛奶怎么加热
- 裙带菜是海鲜吗
- 点淘app元宝有效期多久