2022.01 - 至今 TKE容器变更平台建设专项
项目开发
【架构设计和各模块功能】
addon-manager:publish 平台的 http 后台模块,使用 Gin 框架,定义了 创建发布单、创建变更审批单、拉取集群列表、拉取组件列表、发布、回滚、变更分发等核心流程的API;
addon-frontend:前端控制台;
task-manager:publish 平台的实际变更动作下发模块,使用 k8s operator 框架,watch 集群的 task-crd资源,并执行变更、发布前检查、后置检查、发布调度动作;
task-crd:包含了一次发布动作中所需要的信息(分批灰度、调度策略、发布通道信息);
ops-center:publish 平台的资源注册模块,与组件管理中心底座kube-apiserver集成,提供相关 crd 自动管控能力,将所有集群相关的云上资源 (cluster、nodepool、vpc、subnet、tps)全部 crd 化,由 ops-center 统一管理,并且实时 watch,调用 yunapi 完成资源生命周期管理; argo-cd:argo是开源的cd方案,以Application CRD的方式来抽象云原 生应用。在组件进行Helm化后,可以无缝接入argo-cd,来实现自动化的 变更动作。
【达成结果】 承载了 2w+ 现网 tke 用户集群的组件发布需求。