kubernetes集群联邦

我要开发同款
木有文花2023年05月24日
243阅读

作品详情

项目背景:为了支持同一个应用多个实例能够跨 AZ 部署和故障容灾,需要将实例打散在 2 个或者更多的 AZ 中。默认情况下一个集群下所有机器同属于一个 AZ,为此需要提供一个联邦集群来实现多集群管理以及实例跨 AZ 分发和管理。

项目模块:项目分为 3 个部分:集群状态维护、workload 同步和分发、实例状态控制器。各个模块详细的功能如下:
1. 集群状态维护:向联邦集群注册 member 集群,member 集群向联邦集群同步集群状态,member 集群与联邦集群证书自动轮换,向联邦集群注销 member 集群;
2. 实例分发和同步:用户在联邦集群创建 workload 后,联邦集群会根据部署策略将一个 workload 拆分成多个 workload 并往不同 member 集群分发,member 集群监听到属于自己集群的 workload 请求后,开始创建、更新或者删除;
3. 实例状态控制器:该模块负责监听 workload 下实例的运行状态,并通过调度、重调度等方式最终将这些实例运行到终态。

我的工作:我主要负责“集群状态维护”的工作。该模块的主要目的是让联邦集群和 member 集群之间正常交互通信,联邦侧定期地监测和更新 member 集群运行状态,从而决定 workload 的调度或重调度策略。
该模块有两个组件:agent 和 controller,分别运行在 member 集群和联邦集群。agent 首次启动会将集群自身注册到联邦集群,之后 agent 会周期地向联邦集群上报集群心跳和集群状态。联邦集群的 controller 则检测 member 集群的心跳和状态信息,从而对 member 集群状态做进一步调整,进一步指导 workload 的调度和分发工作。
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论