功能概述

Immutable Infrastructure 支持提供了全面的集群和云基础设施管理能力,专为企业级 Kubernetes 部署设计。该平台利用先进的自动化和基础设施即代码原则,提供可靠、可扩展且易于维护的基础设施解决方案。

集群管理

我们的平台提供端到端的 Kubernetes 集群生命周期管理,采用不可变操作系统原则,确保跨环境的一致性和可复现性部署。

集群创建

  • Immutable OS 支持:使用不可变操作系统模式创建集群,提升安全性和一致性
  • 自动计算资源配置:自动配置预设规格的计算实例
  • 引导自动化:自动化集群引导,减少人工干预

集群删除

  • 完整资源清理:全面删除流程,移除所有相关资源
  • 提供商资源释放:妥善释放提供商资源,防止孤立实例

集群扩缩容

  • 水平扩缩容:根据工作负载需求添加或移除工作节点
  • 自动计算资源管理:扩缩容过程中自动创建和释放计算实例
  • 零停机扩缩容:扩缩容操作无服务中断

集群升级

  • Kubernetes 版本管理:无缝升级到更新的 Kubernetes 版本

支持的基础设施提供商

我们的平台遵循与 Cluster API 基础设施提供商一致的可插拔提供商模型,支持多种基础设施平台。目前支持 DCS 基础设施提供商,其他提供商正在开发中。

  • 提供商无关设计:核心工作流在各提供商间保持一致
  • 当前支持:DCS 基础设施提供商
  • 路线图:持续添加更多提供商

计算资源管理

先进的虚拟机生命周期管理,具备企业级特性,实现资源利用和性能的最优化。

计算生命周期操作

  • 创建计算实例:按需配置规格和参数创建实例
  • 删除计算实例:安全删除并妥善清理资源

计算配置选项

  • 实例/规格选择:从预定义实例类型或规格中选择,针对不同工作负载优化
  • 大小定制:灵活的大小选项,涵盖小型开发实例到大型生产工作负载
  • 资源分配:精确控制 CPU、内存和存储分配
  • 网络配置:高级网络选项,包括自定义子网和安全组
  • 存储选项:多种存储类型和类别(例如:SSD、HDD、NVMe),满足不同性能需求

使用场景

使用场景 1:高可用控制平面

场景:部署具备高可用控制平面的生产集群,确保集群稳定性。

实现

  • 部署 3 节点控制平面,支持自动故障切换
  • 控制平面节点分布在不同可用区(基础设施支持时)
  • 负载均衡器自动分发 API 服务器流量
  • 控制平面组件故障自动恢复

优势

  • 控制平面无单点故障
  • 即使一个控制平面节点故障,集群仍保持运行
  • 自动恢复减少人工干预

使用场景 2:根据工作负载需求水平扩缩容

场景:应对应用负载增加时添加工作节点,负载减少时缩减节点。

实现

  • 调整 MachineDeployment 资源中的 replicas 字段
  • Cluster API 根据 Machine Template 自动配置新节点
  • 新节点自动加入集群并准备就绪处理工作负载
  • 缩容时,节点被优雅驱逐并删除

优势

  • 几分钟内响应工作负载变化,而非数小时
  • 自动扩缩容降低运维负担

使用场景 3:零停机滚动升级

场景:升级 Kubernetes 版本或虚拟机模板,且不中断运行中的应用。

实现

  • 更新控制平面或 MachineDeployment 中的 Machine Template 或 Kubernetes 版本
  • Cluster API 执行滚动升级:创建新节点,待其就绪后删除旧节点
  • 可配置 maxSurgemaxUnavailable 参数控制升级行为
  • Pod 自动从旧节点驱逐并重新调度到新节点

优势

  • 关键应用实现零停机升级
  • 渐进式发布便于早期发现问题
  • 发现问题时可轻松回滚
  • 无需手动重新配置节点

使用场景 4:多节点池管理

场景:在不同配置的专用节点池上运行不同类型的工作负载。

实现

  • 创建多个 MachineDeployment,每个使用不同的 Machine Template
  • 为每个节点池配置不同的资源分配(CPU、内存、存储)
  • 使用节点标签和污点控制工作负载调度
  • 根据工作负载需求独立扩缩各节点池

示例节点池

  • 通用节点池:CPU/内存均衡,适合典型工作负载
  • 计算优化节点池:高 CPU,适合批处理或构建工作负载
  • 内存优化节点池:高内存,适合数据库或缓存

优势

  • 针对不同工作负载类型优化资源分配
  • 工作负载隔离,提升安全性和性能
  • 各工作负载类型独立扩缩容
  • 通过合理配置资源实现成本优化