集群管理
配置 Red Hat OpenShift Service on AWS clusters
摘要
第 1 章 配置私有连接
1.1. 配置私有连接
可以实施私有集群访问权限,以满足 Red Hat OpenShift Service on AWS (ROSA) 环境的需求。
流程
访问您的 ROSA AWS 帐户,并使用以下一个或多个方法建立与集群的私有连接:
- 配置 AWS VPC 对等 :启用 VPC 对等路由两个私有 IP 地址之间的网络流量。
- 配置 AWS VPN :建立虚拟专用网络,将私有网络安全地连接到您的 Amazon 虚拟私有云。
- 配置 AWS Direct Connect :配置 AWS Direct Connect 以在您的私有网络和 AWS Direct Connect 位置之间建立专用网络连接。
- 在 ROSA 上配置私有集群。
1.2. 配置 AWS VPC 对等
这个示例过程配置一个 Amazon Web Services (AWS) VPC,其中包含一个 Red Hat OpenShift Service on AWS 集群作为另外一个 AWS VPC 网络的对等(peer)。有关创建 AWS VPC 交换连接或其它可能配置的更多信息,请参阅 AWS VPC Peering 指南。
1.2.1. VPC 对等术语
当在两个独立 AWS 帐户中的两个 VPC 之间设置 VPC 对等连接时,会使用以下术语:
| Red Hat OpenShift Service on AWS AWS 账户 | 包括 Red Hat OpenShift Service on AWS 集群的 AWS 账户。 |
| Red Hat OpenShift Service on AWS Cluster VPC | 包括 Red Hat OpenShift Service on AWS 集群的 VPC。 |
| 客户 AWS 帐户 | 您要进行对等的非 Red Hat OpenShift Service on AWS AWS 账户。 |
| 客户 VPC | 您要进行对等的 AWS 帐户中的 VPC。 |
| 客户 VPC 区域 | 客户 VPC 所在的区域。 |
从 2018 年 7 月起,AWS 支持在所有商业区域 (不包括中国) 之间的 inter-region VPC。
1.2.2. 启动 VPC 对等请求
您可以将来自 Red Hat OpenShift Service on AWS 帐户的 VPC 对等连接请求发送到客户 AWS 帐户。
前提条件
收集启动对等请求所需的客户 VPC 的以下信息:
- 客户 AWS 帐号
- 客户 VPC ID
- 客户 VPC 区域
- 客户 VPC CIDR
- 检查 Red Hat OpenShift Service on AWS Cluster VPC 使用的 CIDR 块。如果与客户 VPC 的 CIDR 块重叠或匹配,则无法在这两个 VPC 之间对等。有关详细信息,请参阅 Amazon VPC 不支持的 VPC 仪表板配置文档。如果 CIDR 块没有重叠,您可以继续执行这个过程。
流程
- 登录到 Red Hat OpenShift Service on AWS AWS 帐户的 Web 控制台,在托管集群的区域进入 VPC 仪表板。
- 进入 Peering Connections 页面,点 Create Peering Connection 按钮。
验证您登录到的帐户的详情,以及您要连接的帐户和 VPC 的详情:
- 对等连接名称标签 :为 VPC Peering Connection 设置一个描述性名称。
- VPC (Requester) :从 *list 下拉列表中选择 Red Hat OpenShift Service on AWS Cluster VPC ID。
- 帐户 :选择 另一个帐户 并提供客户 AWS 帐户号 *(不带横线)。
- 区域 :如果客户 VPC 区域与当前区域不同,请选择 Another Region,然后从下拉列表中选择客户 VPC 区域。
- VPC (Accepter) :设置客户 VPC ID。
- 点 Create Peering Connection。
- 确认请求变为 Pending 状态。如果它变为 Failed 状态,请确认详情并重复此过程。
1.2.3. 接受 VPC 对等请求
创建 VPC 对等连接后,您必须接受客户 AWS 帐户中的请求。
前提条件
- 启动 VPC 对等请求。
流程
- 登录到 AWS Web 控制台。
- 进入 VPC Service。
- 进入 Peering Connections。
- 点 Pending peering connection。
- 确认请求来自于的 AWS 帐户和 VPC ID。这应该来自 Red Hat OpenShift Service on AWS AWS 帐户和 Red Hat OpenShift Service on AWS 集群 VPC。
- 点 Accept Request。
1.2.4. 配置路由表
接受 VPC 对等请求后,两个 VPC 必须将其路由配置为在对等连接间进行通信。
前提条件
- 启动并接受 VPC 对等请求。
流程
- 登录到 Red Hat OpenShift Service on AWS AWS 帐户的 AWS Web 控制台。
- 进入 VPC Service,然后使用 Route Tables。
为 Red Hat OpenShift Service on AWS Cluster VPC 选择路由表。
注意在一些集群中,特定 VPC 可能有多个路由表。选择具有多个显式关联子网的私有子网。
- 选择 Routes 标签页,然后选择 Edit。
- 在 Destination 文本框中输入 Customer VPC CIDR 块。
- 在 Target 文本框中输入 Peering Connection ID。
- 点 Save。
您必须使用其他 VPC 的 CIDR 块完成相同的进程:
- 登录到 Customer AWS Web Console → VPC Service → Route Tables。
- 选择 VPC 的路由表。
- 选择 Routes 标签页,然后选择 Edit。
- 在 Destination 文本框中输入 Red Hat OpenShift Service on AWS Cluster VPC CIDR 块。
- 在 Target 文本框中输入 Peering Connection ID。
- 点 Save。
VPC peering 连接现已完成。按照验证过程,确保对等连接间的连接正常工作。
1.2.5. 验证 VPC 对等的故障排除
设置 VPC 对等连接后,最好确认它已经配置且正常工作。
前提条件
- 启动并接受 VPC 对等请求。
- 配置路由表。
流程
在 AWS 控制台中,查看对等集群 VPC 的路由表。确保配置了路由表的步骤,并且有一个路由表条目,将 VPC CIDR 范围目的地指向对等连接目标。
如果路由在 AWS Cluster VPC 上的 Red Hat OpenShift Service 路由表和客户 VPC 路由表上都正确,则应该使用
netcat方法测试连接。如果测试调用成功,则 VPC 对等可以正常工作。要测试到端点设备的网络连接,
nc(或netcat)是一个有用的故障排除工具。它包含在默认镜像中,如果可以建立连接,提供快速和清晰的输出:使用
busybox镜像创建一个临时 pod,它会自行清理:$ oc run netcat-test \ --image=busybox -i -t \ --restart=Never --rm \ -- /bin/sh使用
nc检查连接。成功连接结果示例:
/ nc -zvv 192.168.1.1 8080 10.181.3.180 (10.181.3.180:8080) open sent 0, rcvd 0
连接结果示例:
/ nc -zvv 192.168.1.2 8080 nc: 10.181.3.180 (10.181.3.180:8081): Connection refused sent 0, rcvd 0
退出容器,该容器自动删除 Pod:
/ exit
1.3. 配置 AWS VPN
这个示例流程配置 Amazon Web Services (AWS) Red Hat OpenShift Service on AWS 集群来使用客户的现场硬件 VPN 设备。
AWS VPN 目前不提供将 NAT 应用到 VPN 流量的受管选项。如需了解更多详细信息,请参阅 AWS 知识库。
不支持通过私有连接路由所有流量,如 0.0.0.0/0。这需要删除互联网网关,它将禁用 SRE 管理流量。
有关使用硬件 VPN 设备将 AWS VPC 连接到远程网络的更多信息,请参阅 Amazon VPC VPN 连接 文档。
1.3.1. 创建 VPN 连接
您可以按照以下过程,配置 Amazon Web Services (AWS) Red Hat OpenShift Service on AWS 集群来使用客户的现场硬件 VPN 设备。
前提条件
- 硬件 VPN 网关设备模型和软件版本,例如 Cisco ASA 运行版本 8.3。请参阅 Amazon VPC Network Administrator 指南,以确认 AWS 是否支持您的网关设备。
- VPN 网关设备的公共、静态 IP 地址。
- BGP 或静态路由:如果需要 BGP,则需要 ASN。如果静态路由,必须至少配置一个静态路由。
- 可选:一个可访问服务的 IP 和端口/Protocol 来测试 VPN 连接。
1.3.1.1. 配置 VPN 连接
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard,然后进入 VPC 仪表板。
- 点您的 VPC,找到包含 Red Hat OpenShift Service on AWS 集群上的 VPC 的名称和 VPC ID。
- 在 VPC 仪表板中,点 Customer Gateway。
- 点 Create Customer Gateway 并为它指定一个有意义的名称。
- 选择路由方法:Dynamic 或 Static。
- 如果 Dynamic,在出现的字段中输入 BGP ASN。
- 粘贴 VPN 网关端点 IP 地址。
- 点 Create。
如果您还没有附加到预期的 VPC 的虚拟私有网关:
- 在 VPC 仪表板中点 Virtual Private Gateway。
- 点 Create Virtual Private Gateway,为它指定一个有意义的名称,然后点 Create。
- 默认 Amazon 默认 ASN。
- 选择新创建的网关,点 Attach to VPC,并将其附加到您之前标识的集群 VPC。
1.3.1.2. 建立 VPN 连接
流程
- 在 VPC 仪表板中,点 Site-to-Site VPN 连接。
点 Create VPN 连接。
- 为它指定有意义的名称标签。
- 选择之前创建的虚拟专用网关。
- 对于客户网关,请选择现有。
- 按名称选择客户网关设备。
- 如果 VPN 将使用 BGP,请选择 Dynamic,否则选择 Static。输入静态 IP CIDR。如果有多个 CIDR,请将每个 CIDR 添加为另一个规则。
- 点 Create。
- 等待 VPN 状态更改为 Available,大约需要 5 到 10 分钟。
选择您刚才创建的 VPN 并点 Download Configuration。
- 从下拉列表中,选择客户网关设备的供应商、平台和版本,然后点下载。
- Generic 供应商配置也可用于以纯文本格式检索信息。
建立 VPN 连接后,请确定设置路由传播,或者 VPN 可能无法正常工作。
请注意,VPC 子网信息,您必须作为远程网络添加到配置中。
1.3.1.3. 启用 VPN 路由传播
设置 VPN 连接后,您必须确保启用了路由传播,以便将所需的路由添加到 VPC 的路由表中。
流程
- 在 VPC 仪表板中点 Route Tables。
选择与 VPC 关联的私有 Route 表,该表包含您的 Red Hat OpenShift Service on AWS。
注意在一些集群中,特定 VPC 可能有多个路由表。选择具有多个显式关联子网的私有子网。
- 点 Route Propagation 选项卡。
在显示的表中,您应看到之前创建的虚拟专用网关。检查 Propagate 列中的值。
- 如果 Propagate 设为 No,点 Edit route propagation,选中虚拟私有网关名称旁边的 Propagate 复选框,再点 Save。
在配置 VPN 隧道和 AWS 检测到它为 Up后,您的静态或 BGP 路由会自动添加到路由表中。
1.3.2. 验证 VPN 连接
设置 VPN 隧道后,您可以验证隧道是否在 AWS 控制台中,并且通过隧道连接正常工作。
前提条件
- 创建 VPN 连接。
流程
验证隧道是否在 AWS 中启动。
- 在 VPC 仪表板中点 VPN 连接。
- 选择您之前创建的 VPN 连接并点 Tunnel Details 选项卡。
- 您应该可以看到至少一个 VPN 隧道为 Up。
验证连接。
要测试到端点设备的网络连接,
nc(或netcat)是一个有用的故障排除工具。它包含在默认镜像中,如果可以建立连接,提供快速和清晰的输出:使用
busybox镜像创建一个临时 pod,它会自行清理:$ oc run netcat-test \ --image=busybox -i -t \ --restart=Never --rm \ -- /bin/sh使用
nc检查连接。成功连接结果示例:
/ nc -zvv 192.168.1.1 8080 10.181.3.180 (10.181.3.180:8080) open sent 0, rcvd 0
连接结果示例:
/ nc -zvv 192.168.1.2 8080 nc: 10.181.3.180 (10.181.3.180:8081): Connection refused sent 0, rcvd 0
退出容器,该容器自动删除 Pod:
/ exit
1.3.3. VPN 连接故障排除
隧道没有连接
如果隧道连接仍然处于 Down 状态,您可以验证以下几个方面:
隧道没有保持连接
如果隧道连接无法稳定地保持为 Up,代表所有 AWS 隧道连接都必须从您的网关启动。AWS 隧道不会启动隧道。
红帽建议在持续发送"中断"流量的隧道端设置 SLA Monitor (Cisco ASA)或一些设备,例如 ping、nc 或 telnet,位于 VPC CIDR 范围内配置的任何 IP 地址。连接是否成功并不重要,只要流量被定向到隧道。
处于 Down 状态的二级隧道
创建 VPN 隧道时,AWS 会创建额外的故障转移隧道。根据网关设备,有时第二个隧道将显示为 Down 状态。
AWS 通知如下:
You have new non-redundant VPN connections One or more of your vpn connections are not using both tunnels. This mode of operation is not highly available and we strongly recommend you configure your second tunnel. View your non-redundant VPN connections.
1.4. 配置 AWS Direct Connect
此过程描述了接受 Red Hat OpenShift Service on AWS 的 AWS Direct Connect 虚拟接口。有关 AWS Direct Connect 类型和配置的更多信息,请参阅 AWS Direct Connect 组件文档。
1.4.1. AWS Direct Connect 方法
Direct Connect 连接需要一个托管的、连接到一个 Direct Connect Gateway (DXGateway) 的虚拟接口 (VIF),它与一个 Virtual Gateway (VGW) 或一个 Transit Gateway 进行关联,从而可以访问同一个账户或另外一个账户中的远程 VPC。
如果您没有现有的 DXGateway,则需要创建托管的 VIF,在 Red Hat OpenShift Service on AWS AWS 账户中创建 DXGateway 和 VGW。
如果您有一个现有的 DXGateway 连接到一个或多个现有 VGW,该过程涉及 AWS 帐户上的 Red Hat OpenShift Service,将 Association Proposal 发送到 DXGateway 所有者。DXGateway 所有者必须确保所提议的 CIDR 不会与他们关联的任何其他 VGW 冲突。
详情请查看以下 AWS 文档:
当连接到现有的 DXGateway 时,您需要负责相关的成本。
有两个可用的配置选项:
| 方法 1 | 创建托管的 VIF,然后创建 DXGateway 和 VGW。 |
| 方法 2 | 通过您拥有的现有的 Direct Connect Gateway 请求连接。 |
1.4.2. 创建托管的虚拟接口
前提条件
- 收集 Red Hat OpenShift Service on AWS AWS 账户 ID。
1.4.2.1. 确定直接连接连接的类型
查看 Direct Connect Virtual Interface 详情以确定连接的类型。
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard 并选择正确的区域。
- 从 Services 菜单选择 Direct Connect。
- 将有一个或多个虚拟接口等待被接受,请选择其中一个来查看 Summary。
- 查看虚拟接口类型:private 或 public。
- 记录下 Amazon side ASN 的值。
如果 Direct Connect Virtual 接口类型是 Private,则会创建一个虚拟专用网关。如果直接连接虚拟接口是公共的,则会创建一个直接连接网关。
1.4.2.2. 创建私有直接连接
如果 Direct Connect Virtual Interface 类型为 Private,则会创建一个 Private Direct Connect Connect。
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard 并选择正确的区域。
- 在 AWS 区域中,从 Services 菜单中选择 VPC。
- 从 VPN Connections 中选择 Virtual Private Gateways。
- 点 Create Virtual Private Gateway。
- 为 Virtual Private Gateway 指定一个合适的名称。
- 选择 Custom ASN,并输入前面收集的 Amazon side ASN 的值。
- 创建虚拟专用网关.
- 点新创建的 Virtual Private Gateway,从 Actions 选项卡中选择 Attach to VPC。
- 从列表中选择 Red Hat OpenShift Service on AWS Cluster VPC,并将 Virtual Private Gateway 附加到 VPC。
- 在 Services 菜单中点 Direct Connect。从列表中选择一个直接连接虚拟接口。
- 确认 I understand that Direct Connect port charges apply once I click Accept Connection 信息,然后选 Accept Connection。
- 选择 接受 虚拟专用网关连接并选择在前面的步骤中创建的虚拟专用网关。
- 选择 Accept 接受连接。
- 如果有多个虚拟接口,请重复前面的步骤。
1.4.2.3. 创建公共直接连接
如果 Direct Connect Virtual Interface 类型为 Public,则会创建一个公共直接连接。
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard 并选择正确的区域。
- 在 Red Hat OpenShift Service on AWS AWS Account 区域中,选择 Direct Connect from the Services 菜单。
- 选择 Direct Connect Gateways 和 Create Direct Connect Gateway。
- 为直接连接网关指定合适的名称。
- 在 Amazon side ASN 中,输入前面收集的 Amazon side ASN 值。
- 创建直接连接网关。
- 从 Services 菜单选择 Direct Connect。
- 从列表中选择一个 Direct Connect Virtual Interfaces。
- 确认 I understand that Direct Connect port charges apply once I click Accept Connection 信息,然后选 Accept Connection。
- 选择 接受 直接连接网关连接并选择在前面的步骤中创建的直接连接网关。
- 点 Accept 以接受连接。
- 如果有多个虚拟接口,请重复前面的步骤。
1.4.2.4. 验证虚拟接口
在直接连接虚拟接口被接受后,等待一个简短的时间并查看接口的状态。
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard 并选择正确的区域。
- 在 Red Hat OpenShift Service on AWS AWS Account 区域中,选择 Direct Connect from the Services 菜单。
- 从列表中选择一个 Direct Connect Virtual Interfaces。
- 检查 Interface State 的状态为 Available
- 检查 Interface BGP 状态是否为 Up。
- 对剩余的直接连接接口重复此验证。
在 Direct Connect Virtual Interfaces 可用时,您可以在 AWS 帐户仪表板上登录到 Red Hat OpenShift Service,并下载您的侧配置的直接连接配置文件。
1.4.3. 连接到现有直接连接网关
前提条件
- 确认 AWS VPC 上的 Red Hat OpenShift Service 的 CIDR 范围不会与您关联的任何其他 VGW 冲突。
收集以下信息:
- 直接连接网关 ID。
- 与虚拟接口关联的 AWS 帐户 ID。
- 为 DXGateway 分配的 BGP ASN。可选:也可以使用 Amazon 默认 ASN。
流程
- 登陆到 Red Hat OpenShift Service on AWS AWS Account Dashboard 并选择正确的区域。
- 在 AWS AWS 帐户区域中的 Red Hat OpenShift Service 中,从 Services 菜单中选择 VPC。
- 从 VPN 连接 中,选择 虚拟专用网关。
- 选择 Create Virtual Private Gateway。
- 为 Virtual Private Gateway 指定一个合适的名称。
- 点 Custom ASN,然后输入前面收集的 Amazon side ASN 值或使用 Amazon Provided ASN。
- 创建虚拟专用网关.
- 在 Red Hat OpenShift Service on AWS AWS Account Dashboard 的导航框中,选择 Virtual private 网关 并选择虚拟私有网关。选择 View details。
- 选择 Direct Connect 网关关联,然后点关联直接连接网关。
- 在 关联 帐户类型 下,对于帐户所有者,请选择"另一个帐户。
- 对于 直接连接网关所有者,请输入拥有直接连接网关的 AWS 帐户的 ID。
- 在关联设置下,用于直接连接网关 ID,输入 Direct Connect 网关的 ID。
- 在关联设置下,对于 Virtual interface owner,输入拥有关联虚拟接口的 AWS 帐户的 ID。
- 可选:添加前缀作为允许的前缀,使用逗号分隔它们。
- 选择关联直接连接网关。
- 在发送关联建议后,它会等待您接受的接受。AWS 文档中提供了您必须执行的最终步骤。
1.4.4. 直接连接故障排除
有关进一步的故障排除文档,请参阅故障排除 AWS 直接连接文档。
第 2 章 节点
2.1. 关于机器池
Red Hat OpenShift Service on AWS 使用机器池作为云基础架构之上的弹性动态置备方法。
主要资源包括机器、计算机器集和机器池。
在 Red Hat OpenShift Service on AWS 版本 4.8.35, 4.9.26, 4.10.6 中,Red Hat OpenShift Service on AWS 默认的针对一个 pod 的 pid 限制是 4096。如果要启用这个 PID 限制,必须升级 Red Hat OpenShift Service on AWS 集群到这些版本或更新版本。使用以前版本的 Red Hat OpenShift Service on AWS 集群使用默认的 PID 限制 1024。
您无法配置 Red Hat OpenShift Service on AWS 集群中的针对每个 pod PID 的限制。
2.1.1. Machines
机器是描述 worker 节点主机的基本单元。
2.1.2. 机器集
MachineSet 资源是计算机器组。如果需要更多机器或必须缩减机器,请更改计算机器集所属的机器池中的副本数量。
机器集不能在 ROSA 中直接修改。
2.1.3. 机器池
机器池是计算机器集的更高级别构造。
机器池创建计算机器集,它们是跨可用性区域相同的配置克隆。机器池在 worker 节点上执行所有主机节点置备管理操作。如果需要更多机器或必须缩减机器,请更改机器池中的副本数量以满足您的计算需求。您可以手动配置扩展或设置自动扩展。
默认情况下,集群有一个机器池。在集群安装过程中,您可以标记此机器池。安装集群后,无法删除 Default 机器池,其节点类型或大小无法更改。
集群安装后:
-
您可以重新标记
Default机器池。 您可以将额外的机器池添加到现有集群中。
注意您无法更改机器池节点类型或大小。机器池节点类型或大小仅在创建期间指定。如果需要不同的节点类型或大小,您必须重新创建机器池并指定所需的节点类型或大小值。
- 您可以为每个添加的机器池添加标签。
-
您不能删除
Default机器池。但是,您可以删除非默认机器池。
单个集群中可以存在多个机器池,每个机器池可以包含唯一的节点类型和节点大小配置。
2.1.4. 多个区集群中的机器池
在多个可用区 (Multi-AZ) 集群中创建机器池时,一个机器池有 3 个区。机器池会创建 3 个计算机器集 - 集群中每个区一个。每个计算机器集各自管理其各自可用区中的一个或多个机器。
如果您创建新的 Multi-AZ 集群,机器池会自动复制到这些区域。如果您将机器池添加到现有的 Multi-AZ 中,则在这些区中会自动创建新的池。同样,删除机器池将从所有区中删除。由于这种多副本的效果,在多AZ 集群中使用机器池可以在创建机器池时为特定区域消耗更多项目的配额。
2.1.5. 其他资源
2.2. 管理计算节点
本文档论述了如何通过 Red Hat OpenShift Service on AWS (ROSA) 管理计算(也称为 worker)节点。
机器池中配置了计算节点的大部分更改。机器池是集群中有相同配置的计算节点的一组计算节点,提供轻松管理。
您可以编辑机器池配置选项,如扩展、添加节点标签和添加污点。
2.2.1. 创建机器池
当安装 Red Hat OpenShift Service on AWS (ROSA) 集群时会创建一个默认的集群池。安装后,您可以使用 OpenShift Cluster Manager 或 ROSA CLI (rosa) 为集群创建额外的机器池。
2.2.1.1. 使用 OpenShift Cluster Manager 创建机器池
您可以使用 OpenShift Cluster Manager 为您的 Red Hat OpenShift Service on AWS (ROSA) 集群创建额外的机器池。
前提条件
- 您创建了 ROSA 集群。
流程
- 进入到 OpenShift Cluster Manager Hybrid Cloud Console 并选择您的集群。
- 在 Machine pool 选项卡下,点 Add machine pool。
- 添加机器池名称。
从下拉菜单中选择一个 Worker 节点实例类型。实例类型定义机器池中各个计算节点的 vCPU 和内存分配。
注意在创建池后,您无法更改机器池的实例类型。
可选:为机器池配置自动扩展:
- 选择 Enable autoscaling 以自动扩展机器池中的机器数量,以满足部署需求。
设置自动扩展的最小和最大节点数限值。集群自动扩展不会减少或增加机器池节点数超过您指定的限制。
- 如果您使用一个可用区部署集群,请设置最小和最大节点数。这会在可用区中定义最小和最大计算节点限值。
如果您使用多个可用区部署集群,请为每个区设置 Minimum nodes per zone 和 Maximum nodes per zone。它定义每个区的最小和最大计算节点限值。
注意另外,您可以在创建机器池后为机器池设置自动扩展首选项。
如果没有启用自动扩展,请选择计算节点计数:
- 如果您使用一个可用区部署集群,请从下拉菜单中选择一个 Worker 节点数。这定义了置备到区域的机器池的计算节点数量。
- 如果您使用多个可用区部署集群,请从下拉菜单中选择一个 Worker node count (per zone)。这定义了每个区要置备到机器池的计算节点数量。
可选:为您的机器池添加节点标签和污点:
- 展开 Edit node labels and taints 菜单。
- 在 Node labels 下,为您的节点标签添加 Key 和 Value 项。
- 在 Taints 下,为您的污点添加 Key 和 Value 条目。
对于每个污点,从下拉菜单中选择 Effect。可用选项包括
NoSchedule、PreferNoSchedule和NoExecute。注意另外,您可以在创建机器池后添加节点标签和污点。
可选:如果要配置机器池将机器部署为非保障的 AWS Spot 实例,请使用 Amazon EC2 Spot 实例:
- 选择 使用 Amazon EC2 Spot 实例。
选择 Use On-Demand 实例价格 即可使用按需实例价格。或者,选择 Set maximum price 来为 Spot 实例定义最大每小时价格。
有关 Amazon EC2 Spot 实例的更多信息,请参阅 AWS 文档。
重要您的 Amazon EC2 Spot 实例可能随时中断。仅对可容许中断的工作负载使用 Amazon EC2 Spot 实例。
注意如果为机器池选择了使用 Amazon EC2 Spot 实例,则在创建机器池后无法禁用该选项。
- 点 Add machine pool 创建机器池。
验证
- 验证机器池页面中是否存在 机器池,配置是如预期的。
2.2.1.2. 使用 ROSA CLI 创建机器池
您可以使用 ROSA CLI (rosa) 为 Red Hat OpenShift Service 在 AWS (ROSA) 集群上创建额外的机器池。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa。 -
您可以使用 ROSA CLI (
rosa) 登录到您的红帽帐户。 - 您创建了 ROSA 集群。
流程
要添加不使用自动扩展的机器池,请创建机器池,并定义实例类型、计算(也称为 worker)节点数和节点标签:
$ rosa create machinepool --cluster=<cluster-name> \ --name=<machine_pool_id> \ 1 --replicas=<replica_count> \ 2 --instance-type=<instance_type> \ 3 --labels=<key>=<value>,<key>=<value> \ 4 --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \ 5 --use-spot-instances \ 6 --spot-max-price=0.5 7- 1
- 指定机器池的名称。将
<machine_pool_id>替换为机器池的名称。 - 2
- 指定要置备的计算节点数量。如果您使用单一可用区部署了 ROSA,这定义了要置备到区域的机器池的计算节点数量。如果您使用多个可用区部署集群,这会定义在所有区中要置备的计算节点数量,计数必须是 3。在没有配置自动扩展时,需要
--replicas参数。 - 3
- 可选:为您的机器池中的计算节点设置实例类型。实例类型定义池中各个计算节点的 vCPU 和内存分配。将
<instance_type>替换为实例类型。默认值为m5.xlarge。在创建池后,您无法更改机器池的实例类型。 - 4
- 可选:定义机器池的标签。将
<key>=<value>,<key>=<value>替换为以逗号分隔的键-值对,例如--labels=key1=value1,key2=value2。 - 5
- 可选:定义机器池的污点。使用每个污点的实际的 key, value, 和 effect 替换 Replace
<key>=<value>:<effect>,<key>=<value>:<effect>,例如--taints=key1=value1:NoSchedule,key2=value2:NoExecute。可用效果包括NoSchedule、PreferNoSchedule和NoExecute。 - 6
- 可选:配置机器池以将机器部署为非保障的 AWS Spot 实例。如需更多信息,请参阅 AWS 文档中的 Amazon EC2 Spot 实例。如果为机器池选择了使用 Amazon EC2 Spot 实例,则在创建机器池后无法禁用该选项。
- 7
- 可选:如果您选择使用 Spot 实例,您可以指定这个参数为 Spot 实例定义最大每小时价格。如果没有指定这个参数,则使用 on-demand 价格。
重要您的 Amazon EC2 Spot 实例可能随时中断。仅对可容许中断的工作负载使用 Amazon EC2 Spot 实例。
以下示例创建一个名为
mymachinepool的机器池,它使用m5.xlarge实例类型并具有 2 个计算节点副本。这个示例还添加了 2 个特定于工作负载的标签:$ rosa create machinepool --cluster=mycluster --name=mymachinepool --replicas=2 --instance-type=m5.xlarge --labels=app=db,tier=backend
输出示例
I: Machine pool 'mymachinepool' created successfully on cluster 'mycluster' I: To view all machine pools, run 'rosa list machinepools -c mycluster'
要添加使用自动扩展的机器池,请创建机器池,并定义自动扩展配置、实例类型和节点标签:
$ rosa create machinepool --cluster=<cluster-name> \ --name=<machine_pool_id> \ 1 --enable-autoscaling \ 2 --min-replicas=<minimum_replica_count> \ 3 --max-replicas=<maximum_replica_count> \ 4 --instance-type=<instance_type> \ 5 --labels=<key>=<value>,<key>=<value> \ 6 --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \ 7 --use-spot-instances \ 8 --spot-max-price=0.5 9- 1
- 指定机器池的名称。将
<machine_pool_id>替换为机器池的名称。 - 2
- 在机器池中启用自动扩展来满足部署需求。
- 3 4
- 定义最小和最大计算节点限值。集群自动扩展不会减少或增加机器池节点数超过您指定的限制。如果您使用单个可用区部署 ROSA,
--min-replicas和--max-replicas参数在区的机器池中定义自动扩展限制。如果您使用多个可用区部署集群,则参数在所有区总数中定义自动扩展限制,计数必须为 3。 - 5
- 可选:为您的机器池中的计算节点设置实例类型。实例类型定义池中各个计算节点的 vCPU 和内存分配。将
<instance_type>替换为实例类型。默认值为m5.xlarge。在创建池后,您无法更改机器池的实例类型。 - 6
- 可选:定义机器池的标签。将
<key>=<value>,<key>=<value>替换为以逗号分隔的键-值对,例如--labels=key1=value1,key2=value2。 - 7
- 可选:定义机器池的污点。使用每个污点的实际的 key, value, 和 effect 替换 Replace
<key>=<value>:<effect>,<key>=<value>:<effect>,例如--taints=key1=value1:NoSchedule,key2=value2:NoExecute。可用效果包括NoSchedule、PreferNoSchedule和NoExecute。 - 8
- 可选:配置机器池以将机器部署为非保障的 AWS Spot 实例。如需更多信息,请参阅 AWS 文档中的 Amazon EC2 Spot 实例。如果为机器池选择了使用 Amazon EC2 Spot 实例,则在创建机器池后无法禁用该选项。
- 9
- 可选:如果您选择使用 Spot 实例,您可以指定这个参数为 Spot 实例定义最大每小时价格。如果没有指定这个参数,则使用 on-demand 价格。
重要您的 Amazon EC2 Spot 实例可能随时中断。仅对可容许中断的工作负载使用 Amazon EC2 Spot 实例。
以下示例创建一个名为
mymachinepool的机器池,它使用m5.xlarge实例类型并启用自动扩展。最少的计算节点限值为 3,最大为 6 个。这个示例还添加了 2 个特定于工作负载的标签:$ rosa create machinepool --cluster=mycluster --name=mymachinepool --enable-autoscaling --min-replicas=3 --max-replicas=6 --instance-type=m5.xlarge --labels=app=db,tier=backend
输出示例
I: Machine pool 'mymachinepool' created successfully on cluster 'mycluster' I: To view all machine pools, run 'rosa list machinepools -c mycluster'
验证
列出集群中可用的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SPOT INSTANCES Default No 3 m5.xlarge us-east-1a, us-east-1b, us-east-1c N/A mymachinepool Yes 3-6 m5.xlarge app=db, tier=backend us-east-1a, us-east-1b, us-east-1c No
- 验证机器池已包含在输出中,并且配置符合预期。
其他资源
-
有关
rosa create machinepool子命令可用的参数的详细列表,请参阅使用 ROSA CLI 管理对象。
2.2.2. 删除机器池
如果您的工作负载要求已更改,当前机器池已不再满足您的需要,则可以删除机器池。
您可以使用 Openshift Cluster Manager 或 ROSA CLI (rosa) 删除机器池。
无法删除默认机器池。
2.2.2.1. 使用 OpenShift Cluster Manager 删除机器池
您可以使用 OpenShift Cluster Manager 删除 Red Hat OpenShift Service on AWS (ROSA) 集群的机器池。
前提条件
- 您创建了 ROSA 集群。
- 集群处于 ready 状态。
- 您有一个没有污点的机器池,至少有两个用于单个 AZ 集群或用于多个 AZ 集群的三个实例。
流程
- 在 OpenShift Cluster Manager Hybrid Cloud Console 中,进入到 Clusters 页面,再选择包含您要删除的机器池的集群。
- 在所选集群中,选择 Machine pool 选项卡。
-
在 Machine pool 选项卡中,点您要删除的机器池的选项菜单
。
- 点击 Delete。
所选机器池已删除。
2.2.2.2. 使用 ROSA CLI 删除机器池
您可以使用 ROSA CLI 删除 Red Hat OpenShift Service on AWS (ROSA) 集群的机器池。
前提条件
- 您创建了 ROSA 集群。
- 集群处于 ready 状态。
- 您有一个没有污点的机器池,至少有两个用于单个 AZ 集群或用于多个 AZ 集群的三个实例。
流程
在 ROSA CLI 中运行以下命令:
$ rosa delete machinepool -c=<cluster_name> <machine_pool_ID>
输出示例
? Are you sure you want to delete machine pool <machine_pool_ID> on cluster <cluster_name>? (y/N)
输入 'y' 以删除机器池。
所选机器池已删除。
2.2.3. 手动扩展计算节点
如果您还没有为机器池启用自动扩展,您可以手动扩展池中计算(也称为 worker)节点的数量来满足部署需求。
您必须单独扩展每个机器池。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa。 -
您可以使用 ROSA CLI (
rosa) 登录到您的红帽帐户。 - 创建一个 Red Hat OpenShift Service on AWS (ROSA) 集群。
- 您有一个现有的机器池。
流程
列出集群中的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES default No 2 m5.xlarge us-east-1a mp1 No 2 m5.xlarge us-east-1a
增加或减少机器池中的计算节点副本数量:
$ rosa edit machinepool --cluster=<cluster_name> \ --replicas=<replica_count> \ 1 <machine_pool_id> 2
验证
列出集群中可用的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES default No 2 m5.xlarge us-east-1a mp1 No 3 m5.xlarge us-east-1a
-
在上一命令的输出中,验证机器池的计算节点副本数是否如预期。在示例输出中,
mp1机器池的计算节点副本数已扩展到 3。
2.2.4. 节点标签
标签是应用于 Node 对象的键值对。您可以使用标签来组织一组对象,并控制 pod 的调度。
您可以在集群创建过程中或之后添加标签。标签可以随时修改或更新。
其他资源
- 有关标签的更多信息,请参阅 Kubernetes 标签和选择器概述。
2.2.4.1. 在机器池中添加节点标签
随时为计算(也称为 worker)节点添加或编辑标签,以便以与您的相关方式管理节点。例如,您可以将工作负载的类型分配给特定的节点。
标签以一个键值对的形式进行分配。对于其分配到的对象,每个键需要是唯一的。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa。 -
您可以使用 ROSA CLI (
rosa) 登录到您的红帽帐户。 - 创建一个 Red Hat OpenShift Service on AWS (ROSA) 集群。
- 您有一个现有的机器池。
流程
列出集群中的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SPOT INSTANCES Default No 2 m5.xlarge us-east-1a N/A db-nodes-mp No 2 m5.xlarge us-east-1a No
为机器池添加或更新节点标签:
要为不使用自动扩展的机器池添加或更新节点标签,请运行以下命令:
$ rosa edit machinepool --cluster=<cluster_name> \ --replicas=<replica_count> \ 1 --labels=<key>=<value>,<key>=<value> \ 2 <machine_pool_id>以下示例将标签添加到
db-nodes-mp机器池:$ rosa edit machinepool --cluster=mycluster --replicas=2 --labels=app=db,tier=backend db-nodes-mp
输出示例
I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
要为使用自动扩展的机器池添加或更新节点标签,请运行以下命令:
$ rosa edit machinepool --cluster=<cluster_name> \ --min-replicas=<minimum_replica_count> \ 1 --max-replicas=<maximum_replica_count> \ 2 --labels=<key>=<value>,<key>=<value> \ 3 <machine_pool_id>- 1 2
- 对于使用自动扩展的机器池,您必须提供最小和最大计算节点副本限制。如果没有指定参数,则在命令完成前会提示您输入值。集群自动扩展不会减少或增加机器池节点数超过您指定的限制。如果您使用单个可用区部署 ROSA,
--min-replicas和--max-replicas参数在区的机器池中定义自动扩展限制。如果您使用多个可用区部署集群,则参数在所有区总数中定义自动扩展限制,计数必须为 3。 - 3
- 将
<key>=<value>,<key>=<value>替换为以逗号分隔的键-值对,例如--labels=key1=value1,key2=value2。此列表会持续覆盖对节点标签所做的任何修改。
以下示例将标签添加到
db-nodes-mp机器池:$ rosa edit machinepool --cluster=mycluster --min-replicas=2 --max-replicas=3 --labels=app=db,tier=backend db-nodes-mp
输出示例
I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
验证
列出集群中可用的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SPOT INSTANCES Default No 2 m5.xlarge us-east-1a N/A db-nodes-mp No 2 m5.xlarge app=db, tier=backend us-east-1a No
- 验证您的机器池在输出中是否包含这些标签。
2.2.5. 为机器池添加污点
您可以为机器池中的计算(也称为 worker)节点添加污点,以控制哪些 pod 调度到它们。将污点应用到机器池时,调度程序无法将 pod 放置到池中节点上,除非 pod 规格包含污点的容限。可以使用 OpenShift Cluster Manager 或 Red Hat OpenShift Service on AWS (ROSA) CLI ( rosa )将污点添加到机器池中。
集群必须至少有一个不包含任何污点的机器池。
2.2.5.1. 使用 Openshift Cluster Manager 为机器池添加污点
您可以使用 OpenShift Cluster Manager 为 Red Hat OpenShift Service on AWS (ROSA)集群添加污点。
前提条件
- 创建一个 Red Hat OpenShift Service on AWS (ROSA) 集群。
- 您有一个现有的机器池,它不包含任何污点,至少包含两个实例。
流程
- 进入到 OpenShift Cluster Manager Hybrid Cloud Console 并选择您的集群。
-
在 Machine pool 选项卡中,点您要向其添加污点的机器池的选项菜单
。
- 选择 Edit taint。
- 为您的污点添加 Key 和 Value 条目。
-
从下拉菜单中选择污点的 Effect。可用选项包括
NoSchedule、PreferNoSchedule和NoExecute。 - 可选: 如果要向机器池添加更多污点,请选择 Add taint。
- 点 Save 将污点应用到机器池。
验证
- 在 Machine pool 选项卡中,选择机器池旁边的 > 来扩展视图。
- 验证您的污点是否在展开的视图中的 Taints 下列出。
2.2.5.2. 使用 ROSA CLI 为机器池添加污点
您可以使用 ROSA CLI 将污点添加到 Red Hat OpenShift Service on AWS (ROSA)集群的机器池中。
前提条件
-
在您的工作站上安装和配置了最新的 AWS (
aws)、ROSA (rosa) 和 OpenShift (oc) CLI。 -
使用
rosaCLI 登录您的红帽帐户。 - 创建一个 Red Hat OpenShift Service on AWS (ROSA) 集群。
- 您有一个现有的机器池,它不包含任何污点,至少包含两个实例。
流程
运行以下命令列出集群中的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SPOT INSTANCES Default No 2 m5.xlarge us-east-1a N/A db-nodes-mp No 2 m5.xlarge us-east-1a No
为机器池添加或更新污点:
要为不使用自动扩展的机器池添加或更新污点,请运行以下命令:
$ rosa edit machinepool --cluster=<cluster_name> \ --replicas=<replica_count> \ 1 --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \ 2 <machine_pool_id>- 1
- 对于不使用自动扩展的机器池,必须在添加污点时提供副本数。如果没有指定
--replicas参数,则在命令完成前会提示您输入副本数。如果您使用一个可用区部署 Red Hat OpenShift Service on AWS (ROSA),则副本数定义为区的机器池置备的计算节点数量。如果您使用多个可用区部署集群,则计数定义所有区中机器池中的计算节点总数,且必须是 3 的倍数。 - 2
- 使用每个污点的实际的 key, value, 和 effect 替换 Replace
<key>=<value>:<effect>,<key>=<value>:<effect>,例如--taints=key1=value1:NoSchedule,key2=value2:NoExecute。可用效果包括NoSchedule、PreferNoSchedule和NoExecute。此列表会持续覆盖对节点污点所做的任何修改。
以下示例将污点添加到
db-nodes-mp机器池:$ rosa edit machinepool --cluster=mycluster --replicas 2 --taints=key1=value1:NoSchedule,key2=value2:NoExecute db-nodes-mp
输出示例
I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
要为使用自动扩展的机器池添加或更新污点,请运行以下命令:
$ rosa edit machinepool --cluster=<cluster_name> \ --min-replicas=<minimum_replica_count> \ 1 --max-replicas=<maximum_replica_count> \ 2 --taints=<key>=<value>:<effect>,<key>=<value>:<effect> \ 3 <machine_pool_id>- 1 2
- 对于使用自动扩展的机器池,您必须提供最小和最大计算节点副本限制。如果没有指定参数,则在命令完成前会提示您输入值。集群自动扩展不会减少或增加机器池节点数超过您指定的限制。如果您使用单个可用区部署 ROSA,
--min-replicas和--max-replicas参数在区的机器池中定义自动扩展限制。如果您使用多个可用区部署集群,则参数在所有区总数中定义自动扩展限制,计数必须为 3。 - 3
- 使用每个污点的实际的 key, value, 和 effect 替换 Replace
<key>=<value>:<effect>,<key>=<value>:<effect>,例如--taints=key1=value1:NoSchedule,key2=value2:NoExecute。可用效果包括NoSchedule、PreferNoSchedule和NoExecute。此列表会持续覆盖对节点污点所做的任何修改。
以下示例将污点添加到
db-nodes-mp机器池:$ rosa edit machinepool --cluster=mycluster --min-replicas=2 --max-replicas=3 --taints=key1=value1:NoSchedule,key2=value2:NoExecute db-nodes-mp
输出示例
I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
验证
运行以下命令列出集群中的可用机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SPOT INSTANCES Default No 2 m5.xlarge us-east-1a N/A db-nodes-mp No 2 m5.xlarge key1=value1:NoSchedule, key2=value2:NoExecute us-east-1a No
- 验证您的机器池是否包含在输出中。
2.2.6. 在机器池中添加节点调整
您可以为机器池中的计算(也称为 worker)节点添加调整,以控制其配置。
前提条件
-
在您的工作站上安装和配置了最新的 Red Hat OpenShift Service on AWS (ROSA) CLI
rosa。 -
您可以使用 ROSA CLI (
rosa) 登录到您的红帽帐户。 - 您创建了 ROSA 集群。
- 您有一个现有的机器池。
- 您有一个现有的调优配置。
流程
列出集群中的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SUBNET VERSION AUTOREPAIR TUNING CONFIGS MESSAGE Default No 2 m5.xlarge us-east-1a N/A 4.12.14 Yes db-nodes-mp No 2 m5.xlarge us-east-1a No 4.12.14 Yes
您可以将调优配置添加到现有或新机器池中。
在创建机器池时添加调整:
$ rosa create machinepool -c <cluster-name> <machinepoolname> --tuning-configs <tuning_config_name>
输出示例
? Tuning configs: sample-tuning I: Machine pool 'db-nodes-mp' created successfully on hosted cluster 'sample-cluster' I: To view all machine pools, run 'rosa list machinepools -c sample-cluster'
为机器池添加或更新调整:
$ rosa edit machinepool -c <cluster-name> <machinepoolname> --tuning-configs <tuningconfigname>
输出示例
I: Updated machine pool 'db-nodes-mp' on cluster 'mycluster'
验证
列出集群中可用的机器池:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TAINTS AVAILABILITY ZONES SUBNET VERSION AUTOREPAIR TUNING CONFIGS MESSAGE Default No 2 m5.xlarge us-east-1a N/A 4.12.14 Yes db-nodes-mp No 2 m5.xlarge us-east-1a No 4.12.14 Yes sample-tuning
- 验证您的机器池是否包含在输出中。
2.2.7. 其他资源
2.3. 在本地区域中配置机器池
本文档论述了如何在使用 AWS (ROSA)上的 Red Hat OpenShift Service 的机器池中配置 Local Zones。
2.3.1. 在本地区域中配置机器池
使用以下步骤在 Local Zones 中配置机器池。
AWS Local Zones 在 Red Hat OpenShift Service on AWS 4.12 上被支持。有关如何启用本地区域的详情,请查看 红帽知识库文章。
前提条件
- Red Hat OpenShift Service on AWS (ROSA)通常在选择的父区域中提供。请参阅 AWS 通用可用位置列表,以确定特定 AWS 区域可用的 Local Zone。
- ROSA 集群最初以现有 Amazon VPC (BYO-VPC)构建。
ROSA 集群的最大传输单元(MTU)设置为 1200。
重要通常,本地区中的 Amazon EC2 实例和 Region 中的 Amazon EC2 实例之间的最大传输单元(MTU)为 1300。请参阅 AWS 文档中的 Local Zones 的工作原理。对于开销,集群网络 MTU 总是小于 EC2 MTU。具体开销由您的网络插件决定,例如:
-
OVN-Kubernetes:
100 字节 -
OpenShift SDN:
50 字节
网络插件可以提供可能也会减少 MTU 的额外功能。查看文档以了解更多信息。
-
OVN-Kubernetes:
- AWS 帐户启用了 Local Zones。
- AWS 帐户具有与集群相同的 VPC 的 Local Zone 子网。
- AWS 帐户有一个与路由表关联的子网,该路由表具有到 NAT 网关的路由。
- AWS 帐户在相关子网上具有标签 'kubernetes.io/cluster/<infra_id>: shared'。
流程
运行以下 ROSA CLI (
rosa)命令,在集群中创建机器池。$ rosa create machinepool -c <cluster-name> -i
在 ROSA CLI 中为机器池添加子网和实例类型。几分钟后,集群将置备节点。
I: Enabling interactive mode 1 ? Machine pool name: xx-lz-xx 2 ? Create multi-AZ machine pool: No 3 ? Select subnet for a single AZ machine pool (optional): Yes 4 ? Subnet ID: subnet-<a> (region-info) 5 ? Enable autoscaling (optional): No 6 ? Replicas: 2 7 I: Fetching instance types 8
- 提供子网 ID 以在 Local Zone 中置备机器池。
有关正式发布和宣布的 AWS Local Zone 位置,请参阅 AWS 上的 AWS Local Zones 位置列表。
2.4. 关于集群中的自动扩展节点
自动扩展器选项可以配置为自动扩展集群中的机器数量。
当由于资源不足而无法在任何当前节点上调度 Pod 时,或者在需要另一个节点来满足部署需求时,集群自动扩展会增加集群的大小。集群自动扩展不会将集群资源增加到超过您指定的限制。
另外,如果相当长的一段时间内都不需要某些节点,例如集群资源使用率较低并且所有重要 Pod 都可以安置在其他节点上时,集群自动扩展会减小集群的大小。
启用自动扩展时,还必须设置 worker 节点的最小和最大数量。
只有集群所有者和机构管理员才可以扩展或删除集群。
2.4.1. 在集群中启用自动扩展节点
您可以通过编辑现有集群的机器池定义,在 worker 节点上启用自动扩展来增加或减少可用节点的数量。
使用 Red Hat OpenShift Cluster Manager 在现有集群中启用自动扩展节点
从 OpenShift Cluster Manager 控制台,为机器池定义中启用 worker 节点的自动扩展。
流程
- 在 OpenShift Cluster Manager Hybrid Cloud Console 中,进入到 Clusters 页面,再选择您要为其启用自动扩展的集群。
- 在所选集群中,选择 Machine pool 选项卡。
-
点您要为其启用自动扩展的机器池的末尾的 Options 菜单
,然后选择 Scale。
- 在 Edit node count 对话框中,选中 Enable autoscaling 复选框。
- 选择 Apply 以保存这些更改并为集群启用自动扩展。
另外,在使用交互模式 创建集群时,您可以在默认机器池上配置自动扩展。
使用 ROSA CLI 在现有集群中启用自动扩展节点
配置自动扩展,以根据负载动态扩展 worker 节点的数量。
成功自动扩展取决于您的 AWS 帐户中的正确的 AWS 资源配额。验证来自 AWS 控制台的资源配额和请求配额的增加。
流程
要识别集群中的机器池 ID,请输入以下命令:
$ rosa list machinepools --cluster=<cluster_name>
输出示例
ID AUTOSCALING REPLICAS INSTANCE TYPE LABELS TINTS AVAILABILITY ZONES default No 2 m5.xlarge us-east-1a mp1 No 2 m5.xlarge us-east-1a
- 获取您要配置的机器池的 ID。
要在机器池上启用自动扩展,请输入以下命令:
$ rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling --min-replicas=<number> --max-replicas=<number>
示例
在名为
mycluster的集群上 ID 为mp1的机器池上启用自动扩展,其副本数为 2 到 5 个 worker 节点:$ rosa edit machinepool --cluster=mycluster mp1 --enable-autoscaling --min-replicas=2 --max-replicas=5
2.4.2. 禁用集群中的自动扩展节点
您可以通过编辑现有集群的机器池定义,在 worker 节点上禁用自动扩展来增加或减少可用节点的数量。
您可以使用 OpenShift Cluster Manager 控制台或 Red Hat OpenShift Service on AWS CLI 禁用集群的自动扩展功能。
另外,在使用交互模式 创建集群时,您可以在默认机器池上配置自动扩展。
使用 Red Hat OpenShift Cluster Manager 禁用现有集群中的自动扩展节点
从 OpenShift Cluster Manager 控制台,禁用机器池定义中的 worker 节点的自动扩展。
流程
- 在 OpenShift Cluster Manager Hybrid Cloud Console 中,进入到 Clusters 页面,再选择必须禁用自动扩展的集群。
- 在所选集群中,选择 Machine pool 选项卡。
-
点启动了自动扩展的机器池的末尾的 Options 菜单
,然后选择 Scale。
- 在"编辑节点数"对话框中,取消选择启用自动扩展复选框。
- 选择 Apply 以保存这些更改并从集群中禁用自动扩展。
使用 ROSA CLI 禁用现有集群中的自动扩展节点
使用 Red Hat OpenShift Service on AWS (ROSA) CLI, rosa,禁用机器池定义中的 worker 节点的自动扩展。
流程
输入以下命令:
$ rosa edit machinepool --cluster=<cluster_name> <machinepool_ID> --enable-autoscaling=false --replicas=<number>
示例
在名为
mycluster的集群上,禁用default机器池上的自动扩展。$ rosa edit machinepool --cluster=mycluster default --enable-autoscaling=false --replicas=3