架构

概述

我们的不可变基础设施平台基于 Cluster API (CAPI) framework 构建,提供一种声明式、Kubernetes-native 的集群生命周期管理方法。

架构组件

核心 Cluster API Framework

该平台围绕 Cluster API framework 构建,提供以下能力:

  • 声明式 API:用于集群管理的 Kubernetes-native 资源
  • Provider Interface:面向不同基础设施 provider 的标准化接口
  • 生命周期管理:自动化的集群 provisioning、扩缩容和升级
  • GitOps 集成:对 GitOps workflows 的原生支持

Provider 架构

我们的平台集成了三个关键的 Cluster API provider:

1. Bootstrap Provider - Kubeadm

Cluster API Bootstrap Provider Kubeadm 负责 Kubernetes 节点的初始化和配置:

  • 节点初始化:自动化地将裸机转换为 Kubernetes 节点
  • 配置管理:管理 kubelet 配置、证书和 bootstrap tokens
  • 加入流程:处理 worker 节点加入集群的过程
  • 证书管理:自动化证书生成和轮换

2. Control Plane Provider - Kubeadm

Cluster API Control Plane Provider Kubeadm 负责管理 Kubernetes 控制平面:

  • 控制平面部署:部署并管理 Kubernetes API server、etcd 和控制平面组件
  • 高可用性:支持带负载均衡的多节点控制平面部署
  • 升级管理:处理控制平面组件的滚动升级
  • 健康监控:监控控制平面健康状况并执行恢复操作

3. Infrastructure Provider

所选的 Infrastructure Provider(我们的自定义 provider,例如 DCS)负责管理目标平台上的底层基础设施:

  • 计算资源 provisioning:在目标平台上创建和管理虚拟机或实例
  • 网络配置:搭建网络基础设施
  • 资源管理:管理计算、存储和网络资源
  • Provider 集成:与该 provider 的 API 和服务集成

Cluster API 架构

Cluster API 架构