IoTShare

【K8S】Borg系统

K8S从Borg演进而来,了解Borg系统的架构是很有借鉴意义的,可以对比后续K8S中的组件来了解Google做了哪些优化。

不过值得一提的是Borg系统在Google内部运行了10多年之后,才于2015的一篇Large-scale cluster management at Google with Borg论文中介绍了一些细节。

Snipaste_2021-12-30_22-28-44.png

每个Cell代表着一个集群,而每个集群主要由三个部件组成,分别是schedulerBorgMaster以及Borglet

  • scheduler负责提交任务给BorgMaster,由BorgMaster来进行任务的分发和Borglet的管理;
  • BorgMasterBorglet是中心与节点的关系。BorgMaster在收到scheduler的任务时,会将任务记录在Paxos Store中,然后由调度器从中读取任务然后进行分发。由于Borg是个高可靠的系统,所以BorgMaster将会有多个副本,每次从中选举出一个leader,其他的作为备份。
  • Borglet是运行在节点机器上的Borg代理,负责本地机器的管理。

需要注意的是每个Borglet在与BorgMaster进行通信的时候,比如上报自己信息时并不会直接发送给BorgMaster,而是会经过link shardlink shard中只存储Borglet增量的改变信息,防止在BorgMaster的压力过大。

BorgMaster的副本个数应是大于1的奇数,一方面是为了高可靠,一方面是奇数方面选举时投票。

需要深入了解的知识

  • Paxos分布式存储是什么;
本原创文章未经允许不得转载 | 当前页面:IoTShare » 【K8S】Borg系统

评论