开发者社区> 问答> 正文

Kubernetes 集群节点终态管理如何设计?

Kubernetes 集群节点终态管理如何设计?

展开
收起
问问小秘 2019-11-14 13:16:19 1233 0
1 条回答
写回答
取消 提交回答
  • 随着业务诉求的变化,节点管理已不再局限于安装 docker / kubelet 等组件,我们需要实现如等待日志采集 DaemonSet 部署完成才可以开启调度的需求,而且这类需求变得越来越多。

    如果将终态统一交由 Machine-Operator 管理,势必会增加 Machine-Operator 与其它组件的耦合性,而且系统的扩展性会受到影响。因此,我们设计了一套节点终态管理的机制,来协调 Machine-Operator 和其它节点运维 Operators。 设计如下图所示:

    image.png

    • 全量 ReadinessGates: 记录节点可调度需要检查的 Condition 列表;
    • Condition ConfigMap: 各节点运维 Operators 终态状态上报 ConfigMap;

    协作关系:

    1. 外部节点运维 Operators 检测并上报与自己相关的子终态数据至对应的 Condition ConfigMap; 2.Machine-Operator 根据标签获取节点相关的所有子终态 Condition ConfigMap,并同步至 Machine status 的 conditions 中; 3.Machine-Operator 根据全量 ReadinessGates 中记录的 Condition 列表,检查节点是否达到终态,未达到终态的节点不开启调度。
    2019-11-14 13:18:24
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
ACK 云原生弹性方案—云原生时代的加速器 立即下载
ACK集群类型选择最佳实践 立即下载
企业运维之云原生和Kubernetes 实战 立即下载