功能概述
Immutable Infrastructure 支持提供了全面的集群和云基础设施管理能力,专为企业级 Kubernetes 部署设计。该平台利用先进的自动化和基础设施即代码原则,提供可靠、可扩展且易于维护的基础设施解决方案。
目录
集群管理集群创建集群删除集群扩缩容集群升级支持的基础设施提供商计算资源管理计算生命周期操作计算配置选项使用场景使用场景 1:高可用控制平面使用场景 2:根据工作负载需求水平扩缩容使用场景 3:零停机滚动升级使用场景 4:多节点池管理集群管理
我们的平台提供端到端的 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 执行滚动升级:创建新节点,待其就绪后删除旧节点
- 可配置
maxSurge和maxUnavailable参数控制升级行为 - Pod 自动从旧节点驱逐并重新调度到新节点
优势:
- 关键应用实现零停机升级
- 渐进式发布便于早期发现问题
- 发现问题时可轻松回滚
- 无需手动重新配置节点
使用场景 4:多节点池管理
场景:在不同配置的专用节点池上运行不同类型的工作负载。
实现:
- 创建多个 MachineDeployment,每个使用不同的 Machine Template
- 为每个节点池配置不同的资源分配(CPU、内存、存储)
- 使用节点标签和污点控制工作负载调度
- 根据工作负载需求独立扩缩各节点池
示例节点池:
- 通用节点池:CPU/内存均衡,适合典型工作负载
- 计算优化节点池:高 CPU,适合批处理或构建工作负载
- 内存优化节点池:高内存,适合数据库或缓存
优势:
- 针对不同工作负载类型优化资源分配
- 工作负载隔离,提升安全性和性能
- 各工作负载类型独立扩缩容
- 通过合理配置资源实现成本优化