Machine API 是基于上游 Cluster API 项目和自定义 OpenShift Container Platform 资源的主要资源的组合。
对于 OpenShift Container Platform 4.17 集群,在集群安装完成后,Machine API 会执行所有节点主机配置管理操作。由于这个系统,OpenShift Container Platform 4.17 在公共或私有云基础设施之上提供了一种弹性、动态的配置方法。
- 机器 (Machines)
-
描述节点主机的基本单元。机器具有一个providerSpec
规范,该规范描述了不同云平台上提供的计算节点类型。例如,计算节点的机器类型可能定义特定的机器类型和所需元数据。
- 机器集 (Machine sets)
-
MachineSet
资源是计算机器的组。计算机器集与计算机器的关系,就像副本集与 Pod 的关系一样。如果您需要更多计算机器或必须缩减其规模,您可以更改MachineSet
资源上的replicas
字段以满足您的计算需求。
|
控制平面机器集为受支持的控制平面机器提供了与计算机器集为计算机器提供的类似的管理功能。
|
- 机器自动缩放器 (Machine autoscaler)
-
MachineAutoscaler
资源会自动缩放云中的计算机器。您可以为指定计算机器集中的节点设置最小和最大缩放边界,机器自动缩放器会维护该节点范围。
MachineAutoscaler
对象在ClusterAutoscaler
对象存在后生效。ClusterAutoscaler
和MachineAutoscaler
资源均由ClusterAutoscalerOperator
对象提供。
- 集群自动缩放器 (Cluster autoscaler)
-
此资源基于上游集群自动缩放器项目。在 OpenShift Container Platform 实现中,它通过扩展计算机器集 API 与 Machine API 集成。您可以使用集群自动缩放器以以下方式管理您的集群:
-
设置集群范围内的资源缩放限制,例如核心、节点、内存和 GPU
-
设置优先级,以便集群优先处理 Pod,并且不会为不太重要的 Pod 在线添加新节点
-
设置缩放策略,以便您可以向上扩展节点,但不能向下扩展节点
- 机器健康检查 (Machine health check)
-
MachineHealthCheck
资源检测机器何时不健康,将其删除,并在受支持的平台上创建新机器。
在 OpenShift Container Platform 3.11 版本中,由于集群不管理机器配置,因此您无法轻松地推出多区域架构。从 OpenShift Container Platform 4.1 版本开始,此过程更加容易。每个计算机器集都限定在一个区域内,因此安装程序会代表您跨可用性区域发送计算机器集。然后,由于您的计算是动态的,并且面对区域故障时,您始终拥有一个区域以供您重新平衡机器。在没有多个可用性区域的全球 Azure 区域中,您可以使用可用性集来确保高可用性。自动缩放器在集群的整个生命周期中提供尽力而为的平衡。