第 12 章 使用 Cluster API 管理机器
使用集群 API 管理机器只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
Cluster API 是一个上游项目,被集成到 OpenShift Container Platform 中,作为 Amazon Web Services (AWS)和 Google Cloud Platform (GCP) 集群的技术预览。您可以使用 Cluster API 来创建和管理 OpenShift Container Platform 集群中的机器集和机器。这个功能是使用 Machine API 管理机器的补充或替代功能。
对于 OpenShift Container Platform 4.11 集群,您可以使用 Cluster API 在集群安装完成后执行节点主机置备管理操作。该系统在公有或私有云基础架构之上启用弹性动态置备方法。
使用 Cluster API 技术预览,您可以为支持的供应商在 OpenShift Container Platform 集群中创建计算机器和机器集。您还可以探索此实施可能不能使用 Machine API 启用的功能。
优点
通过使用集群 API,OpenShift Container Platform 用户和开发人员能够实现以下优点:
- 使用上游社区 Cluster API 基础架构提供程序的选项可能不受 Machine API 支持。
- 为基础架构供应商维护机器控制器的第三方合作机会。
- 在 OpenShift Container Platform 中,使用同一组 Kubernetes 工具进行基础架构管理的能力。
- 使用支持 Machine API 不提供的功能的集群 API 创建机器集的功能。
限制
使用集群 API 管理机器是一个技术预览功能,有以下限制:
- 仅支持 AWS 和 GCP 集群。
-
要使用这个功能,您必须启用
TechPreviewNoUpgrade
功能集。启用此功能集无法撤消并阻止次版本更新。 - 您必须创建 Cluster API 需要的主要资源。
- control plane 机器不能由 Cluster API 管理。
- 不支持将 Machine API 创建的现有机器集迁移到 Cluster API 机器集。
- 使用 Machine API 的全功能奇偶校验不可用。
12.1. 集群 API 架构
OpenShift Container Platform 与上游 Cluster API 集成由 Cluster CAPI Operator 实现和管理。Cluster CAPI Operator 及其操作对象在 openshift-cluster-api
命名空间中置备,这与使用 openshift-machine-api
命名空间中的 Machine API 相反。
12.1.1. Cluster CAPI Operator
Cluster CAPI Operator 是一个 OpenShift Container Platform Operator,维护 Cluster API 资源的生命周期。此 Operator 负责在 OpenShift Container Platform 集群中部署 Cluster API 项目的所有管理任务。
如果正确配置了集群以允许使用 Cluster API,Cluster CAPI Operator 会在集群中安装 Cluster API Operator。
Cluster CAPI Operator 与上游 Cluster API Operator 不同。
如需更多信息,请参阅 Cluster Operator 引用内容中的 Cluster CAPI Operator 条目。
12.1.2. 主要资源
Cluster API 由以下主要资源组成。对于这个功能的技术预览,您必须在 openshift-cluster-api
命名空间中手动创建这些资源。
- 集群
- 代表由 Cluster API 管理的集群的基本单元。
- 基础架构
- 特定于供应商的资源,用于定义集群中所有机器集共享的属性,如地区和子网。
- 机器模板
- 特定于供应商的模板,用于定义机器集创建的机器的属性。
- 机器集
一组机器。
机器集适用于机器,复制集则适用于 pod。如果需要更多机器或必须缩减规模,则可以更改机器集的
replicas
字段来满足您的计算需求。使用 Cluster API 时,机器集引用
Cluster
对象和特定于供应商的机器模板。- 机器
描述节点主机的基本单元。
Cluster API 根据机器模板中的配置创建机器。