架构

概述

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

架构组件

核心 Cluster API 框架

该平台围绕 Cluster API 框架构建,提供:

  • 声明式 API:用于集群管理的 Kubernetes 原生资源
  • Provider 接口:针对不同基础设施提供商的标准化接口
  • 生命周期管理:自动化的集群配置、扩展和升级
  • GitOps 集成:对 GitOps 工作流的原生支持

Provider 架构

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

1. 引导 Provider - Kubeadm

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

  • 节点初始化:自动化将裸机转变为 Kubernetes 节点的过程
  • 配置管理:管理 kubelet 配置、证书和引导令牌
  • 加入流程:处理工作节点加入集群的过程
  • 证书管理:自动化证书的生成和轮换

2. 控制平面 Provider - Kubeadm

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

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

3. 基础设施 Provider

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

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

Cluster API 架构

Cluster API Architecture