第 4 章 重新定义集群大小(技术预览)
您可以自定义受管集群规格,如虚拟机大小和节点数量。
许多由 Red Hat Advanced Cluster Management for Kubernetes 管理的集群可以使用 Red Hat Advanced Cluster Management 控制台或命令行和 MachinePool
资源进行扩展。MachinePool
资源是 Hub 集群上的 Kubernetes 资源,用于将 MachineSet
资源分组到受管集群上。MachinePool
资源统一配置一组计算机资源,包括区配置、实例类型和 root 存储。它还可帮助您手动配置所需的节点数,或配置受管集群中的节点的自动扩展。
4.1. 扩展由 Red Hat Advanced Cluster Management 创建的受管集群
使用 MachinePool
资源扩展 Red Hat Advanced Cluster Management 创建的集群是一个技术预览功能,它不支持由 Red Hat Advanced Cluster Management 创建的裸机集群。
4.1.1. 自动缩放
配置自动扩展可让集群根据需要进行扩展,从而降低资源成本,在流量较低时进行缩减,并通过向上扩展以确保在资源需求较高时有足够的资源。
4.1.1.1. 启用自动扩展
要使用 Red Hat Advanced Cluster Management 控制台在
MachinePool
资源上启用自动扩展,请完成以下步骤:- 在 Red Hat Advanced Cluster Management 导航中,选择 Infrastructure > Clusters。
- 点击目标集群的名称查看集群的详情。
- 选择 Machine pool 选项卡来查看机器池信息。
- 在 machine pool 页中,从目标机器池的 Options 菜单中选择 Enable autoscale。
- 选择机器设置副本的最小和最大数量。计算机集副本直接映射到集群中的节点。
单击 Scale 以提交更改。
更改可能需要几分钟时间才可以在控制台中反映出来。您可以通过单击 Machine pools 中的通知中的 View machines 来查看扩展操作的状态。
要使用命令行在
MachinePool
资源上启用自动扩展,请完成以下步骤:输入以下命令查看您的机器池列表:
oc get machinepools -n <managed-cluster-namespace>
将
managed-cluster-namespace
替换为目标受管集群的命名空间。输入以下命令为机器池编辑 YAML 文件:
oc edit machinepool <name-of-MachinePool-resource> -n <namespace-of-managed-cluster>
将
name-of-MachinePool-resource
替换为MachinePool
资源的名称。将
namespace-of-managed-cluster
替换为受管集群的命名空间的名称。-
从 YAML 文件删除
spec.replicas
字段。 -
在资源 YAML 中添加
spec.autoscaling.minReplicas
设置和spec.autoscaling.maxReplicas
项。 -
将最小副本数添加到
minReplicas
设置。 -
将最大副本数添加到
maxReplicas
设置中。 - 保存文件以提交更改。
为机器池启用自动扩展。
4.1.1.2. 禁用自动扩展
您可以使用控制台或命令行禁用自动扩展。
要使用 Red Hat Advanced Cluster Management 控制台禁用自动扩展,请完成以下步骤:
- 在 Red Hat Advanced Cluster Management 导航中,选择 Infrastructure > Clusters。
- 点击目标集群的名称查看集群的详情。
- 选择 Machine pool 选项卡来查看机器池信息。
- 在 machine pool 页面中,从目标机器池的 Options 菜单中选择 Disable autoscale。
- 选择您想要的机器集副本数量。机器集副本直接与集群中的节点映射。
- 单击 Scale 以提交更改。在控制台中显示可能需要几分钟时间。
- 在 Machine pool 选项卡中的通知中单击 View machine 以查看扩展的状态。
要使用命令行禁用自动扩展,请完成以下步骤:
输入以下命令查看您的机器池列表:
oc get machinepools -n <managed-cluster-namespace>
将
managed-cluster-namespace
替换为目标受管集群的命名空间。输入以下命令为机器池编辑 YAML 文件:
oc edit machinepool <name-of-MachinePool-resource> -n <namespace-of-managed-cluster>
将
name-of-MachinePool-resource
替换为MachinePool
资源的名称。将
namespace-of-managed-cluster
替换为受管集群的命名空间的名称。-
从 YAML 文件中删除
spec.autoscaling
字段。 -
将
spec.replicas
字段添加到资源 YAML。 -
将副本数添加到
replicas
设置中。 - 保存文件以提交更改。
禁用自动扩展。
4.1.2. 手动扩展集群
如果您不想启用集群自动扩展,可以使用 Red Hat Advanced Cluster Management 控制台或命令行更改您希望集群维护的静态副本数。这有助于根据需要增加或缩小大小。
4.1.2.1. 使用控制台手动扩展集群
要使用 Red Hat Advanced Cluster Management 控制台扩展 MachinePool
资源,请完成以下步骤:
- 在 Red Hat Advanced Cluster Management 导航中,选择 Infrastructure > Clusters。
- 点击目标集群的名称查看集群的详情。
选择 Machine pool 选项卡来查看机器池信息。
注: 如果 Autoscale 字段中的值是
Enabled
,您必须首先通过完成禁用自动扩展中的步骤来禁用自动扩展功能,然后再继续。- 从机器池的 Options 菜单中,选择 Scale 机器池。
- 调整机器设置副本数量,以扩展计算机池。
- 选择 Scale 以实施更改。
4.1.2.2. 使用命令行手动扩展集群
要使用命令行扩展 MachinePool
资源,请完成以下步骤:
输入以下命令查看您的机器池列表:
oc get machinepools -n <managed-cluster-namespace>
将
managed-cluster-namespace
替换为目标受管集群的命名空间。输入以下命令为机器池编辑 YAML 文件:
oc edit machinepool <name-of-MachinePool-resource> -n <namespace-of-managed-cluster>
将
name-of-MachinePool-resource
替换为MachinePool
资源的名称。将
namespace-of-managed-cluster
替换为受管集群的命名空间的名称。-
将 YAML 中的
spec.replicas
配置更新为副本数。 - 保存文件以提交更改。
集群使用新的大小设置。