This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.6.2. 为生产环境创建基础架构机器集
在生产环境部署中,至少部署三个机器集来容纳基础架构组件。日志记录聚合解决方案和服务网格都部署 Elasticsearch,而且 Elasticsearch 需要三个安装到不同节点上的实例。为获得高可用性,将这些节点部署到不同的可用区。由于每个可用区需要不同的机器集,因此至少创建三台机器集。
6.2.1. 为不同云创建机器集 复制链接链接已复制到粘贴板!
使用云的示例机器集。
6.2.1.1. AWS 上机器设置自定义资源的 YAML 示例 复制链接链接已复制到粘贴板!
此 YAML 示例定义了一个在 us-east-1a
Amazon Web Services (AWS) 区域中运行的机器集,并创建通过 node-role.kubernetes.io/<role>: ""
标记的节点。
在本例中,<infrastructureID>
是基础架构 ID 标签,该标签基于您在置备集群时设定的集群 ID,而 <role>
则是要添加的节点标签。
- 1 3 5 11 12 13 14
- 指定基于置备集群时所设置的集群 ID 的基础架构 ID。如果已安装 OpenShift CLI,您可以通过运行以下命令来获取基础架构 ID:
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 4 8
- 指定基础架构 ID、节点标签和区域。
- 6 7 9
- 指定要添加的节点标签。
- 10
- 为您的 OpenShift Container Platform 节点的 AWS 区域指定有效的 Red Hat Enterprise Linux CoreOS (RHCOS) AMI。
6.2.1.2. Azure 上机器设置自定义资源的 YAML 示例 复制链接链接已复制到粘贴板!
此 YAML 示例定义了一个在 centralus
地区(region)的 1
Microsoft Azure 区域(zone)中运行的机器集,并创建了通过 node-role.kubernetes.io/<role>: ""
标记的节点。
在本例中,<infrastructureID>
是基础架构 ID 标签,该标签基于您在置备集群时设定的集群 ID,而 <role>
则是要添加的节点标签。
- 1 5 7 12 13 14 17
- 指定基于置备集群时所设置的集群 ID 的基础架构 ID。如果已安装 OpenShift CLI,您可以通过运行以下命令来获取基础架构 ID:
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 2 3 8 9 11 15 16
- 指定要添加的节点标签。
- 4 6 10
- 指定基础架构 ID、节点标签和地区。
- 18
- 指定您所在地区(region)内要放置 Machine 的区域 (zone)。确保您的地区支持您指定的区域。
6.2.1.3. GCP 上机器设置自定义资源的 YAML 示例 复制链接链接已复制到粘贴板!
此 YAML 示例定义了一个在 Google Cloud Platform (GCP) 中运行的机器集,并创建通过 node-role.kubernetes.io/<role>: ""
标记的节点。
在本例中,<infrastructureID>
是基础架构 ID 标签,该标签基于您在置备集群时设定的集群 ID,而 <role>
则是要添加的节点标签。
- 1 2 3 4 5 8 10 11 14
- 指定基于置备集群时所设置的集群 ID 的基础架构 ID。如果已安装 OpenShift CLI,您可以通过运行以下命令来获取基础架构 ID:
oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
$ oc get -o jsonpath='{.status.infrastructureName}{"\n"}' infrastructure cluster
Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 12 16
- 指定基础架构 ID 和节点标签。
- 6 7 9
- 指定要添加的节点标签。
- 13 15
- 指定用于集群的 GCP 项目的名称。
6.2.2. 创建机器集 复制链接链接已复制到粘贴板!
除了安装程序创建的机器集之外,还可创建自己的机器集来动态管理您选择的特定工作负载的机器计算资源。
先决条件
- 部署一个 OpenShift Container Platform 集群。
-
安装 OpenShift CLI(
oc
)。 -
以具有
cluster-admin
权限的用户身份登录oc
。
流程
创建一个包含机器集自定义资源(CR)示例的新 YAML 文件,并将其命名为
<file_name>.yaml
。确保设置
<clusterID>
和<role>
参数值。创建新的
MachineSet
CR:oc create -f <file_name>.yaml
$ oc create -f <file_name>.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看机器集列表:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当新机器集可用时,
DESIRED
和CURRENT
的值会匹配。如果机器集不可用,请等待几分钟,然后再次运行命令。新机器设置可用后,检查机器及其引用的节点的状态:
oc describe machine <name> -n openshift-machine-api
$ oc describe machine <name> -n openshift-machine-api
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看新节点,并确认新节点具有您指定的标签:
oc get node <node_name> --show-labels
$ oc get node <node_name> --show-labels
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 查看命令输出,并确认
node-role.kubernetes.io/<your_label>
列在LABELS
列表中。
对机器集的任何更改都不会应用到机器集拥有的现有机器。例如,对现有机器集编辑或添加的标签不会传播到与该机器集关联的现有机器和节点。
后续步骤
如果需要其他可用区中的机器集,请重复此过程来创建更多 MachineSet。