您可以使用机器管理灵活地处理底层基础设施,例如 Amazon Web Services (AWS)、Microsoft Azure、Google Cloud Platform (GCP)、Red Hat OpenStack Platform (RHOSP) 和 VMware vSphere,以管理 OpenShift Container Platform 集群。您可以控制集群并执行自动伸缩,例如根据特定工作负载策略向上或向下扩展集群。
拥有一个适应不断变化的工作负载的集群非常重要。OpenShift Container Platform 集群可以在负载增加或减少时水平扩展。
机器管理实现为自定义资源定义 (CRD)。CRD 对象在集群中定义一个新的唯一对象Kind
,并使 Kubernetes API 服务器能够处理该对象的整个生命周期。
Machine API 运算符预配以下资源
MachineSet
Machine
ClusterAutoscaler
MachineAutoscaler
MachineHealthCheck
Machine API 是基于上游 Cluster API 项目和自定义 OpenShift Container Platform 资源的主要资源的组合。
对于 OpenShift Container Platform 4.17 集群,在集群安装完成后,Machine API 执行所有节点主机预配管理操作。由于此系统,OpenShift Container Platform 4.17 在公共或私有云基础设施之上提供了一种弹性、动态的预配方法。
两种主要资源是
描述节点主机的基本单元。机器具有providerSpec
规范,该规范描述了为不同云平台提供的计算节点类型。例如,计算节点的机器类型可能定义特定的机器类型和所需的元数据。
MachineSet
资源是计算机器的组。计算机器集与计算机器的关系,就像副本集与 Pod 的关系一样。如果您需要更多计算机器或必须缩减它们,请更改MachineSet
资源上的replicas
字段以满足您的计算需求。
控制平面机器不能由计算机器集管理。 控制平面机器集为支持的控制平面机器提供类似于计算机器集为计算机器提供的管理功能。 更多信息,请参见“管理控制平面机器”。 |
以下自定义资源为您的集群添加更多功能
MachineAutoscaler
资源自动缩放云中的计算机器。您可以为指定计算机器集中的节点设置最小和最大缩放边界,机器自动缩放器将维护该节点范围。
MachineAutoscaler
对象在ClusterAutoscaler
对象存在后生效。ClusterAutoscaler
和MachineAutoscaler
资源均由ClusterAutoscalerOperator
对象提供。
本资源基于上游集群自动伸缩器项目。在 OpenShift Container Platform 实现中,它通过扩展计算机器集 API 与机器 API 集成。您可以使用集群自动伸缩器以以下方式管理您的集群:
设置集群范围的资源缩放限制,例如内核、节点、内存和 GPU。
设置优先级,以便集群优先处理 Pod,并且不会为不太重要的 Pod 启用新节点。
设置缩放策略,以便您可以向上扩展节点,但不能向下扩展它们。
MachineHealthCheck
资源检测机器何时不健康,将其删除,并在受支持的平台上创建新机器。
在 OpenShift Container Platform 3.11 版本中,由于集群不管理机器配置,因此您难以轻松推出多区域架构。从 OpenShift Container Platform 4.1 版本开始,此过程更加容易。每个计算机器集都限定在一个区域内,因此安装程序会代表您跨可用区域发送计算机器集。然后,由于您的计算是动态的,并且在区域故障面前,您始终拥有一个区域以供您重新平衡机器时使用。在没有多个可用区域的全球 Azure 区域中,您可以使用可用性集来确保高可用性。自动伸缩器在集群的整个生命周期中提供尽力而为的平衡。
作为集群管理员,您可以执行以下操作:
为以下云提供商创建计算机器集:
创建裸机部署的机器集:在裸机上创建计算机器集
手动缩放计算机器集,方法是从计算机器集中添加或删除机器。
修改计算机器集,方法是通过MachineSet
YAML 配置文件。
删除机器。
配置和部署机器健康检查,以自动修复机器池中的损坏机器。
作为集群管理员,您可以执行以下操作:
使用控制平面机器集更新您的控制平面配置,适用于以下云提供商:
配置和部署机器健康检查,以自动恢复不健康的控制平面机器。
用户预配的基础设施是一个环境,您可以在其中部署基础设施(例如计算、网络和存储资源),这些资源托管 OpenShift Container Platform。您可以在安装过程期间或之后向用户预配的基础设施上的集群添加计算机器。
作为集群管理员,您可以执行以下操作:
添加 Red Hat Enterprise Linux (RHEL) 计算机器(也称为工作机器)到用户预配的基础设施集群或安装预配的基础设施集群。