3.2. 为生产环境创建基础架构机器集
您可以创建一个机器集来创建仅托管基础架构组件的机器,如默认路由器、集成容器镜像 registry 和用于集群指标和监控的组件。这些基础架构机器不计入运行环境所需的订阅总数中。
在生产部署中,建议您至少部署三个机器集来容纳基础架构组件。OpenShift Logging 和 Red Hat OpenShift Service Mesh 部署 Elasticsearch,这需要三个实例安装到不同的节点上。这些节点可以部署到不同的可用区,以实现高可用性。这样的配置需要三个不同的计算机集,每个可用区对应一个。在没有多个可用区的全局 Azure 区域,您可以使用可用性集来确保高可用性。
有关基础架构节点以及可以在基础架构节点上运行的组件的信息,请参阅 创建基础架构机器集。
有关可用于这些步骤的机器集示例,请参阅 为不同的云创建机器集。
3.2.1. 创建机器集
除了安装程序创建的机器集之外,还可创建自己的机器集来动态管理您选择的特定工作负载的机器计算资源。
先决条件
- 部署一个 OpenShift Container Platform 集群。
-
安装 OpenShift CLI(
oc)。 -
以具有
cluster-admin权限的用户身份登录oc。
流程
创建一个包含机器集自定义资源(CR)示例的新 YAML 文件,并将其命名为
<file_name>.yaml。确保设置
<clusterID>和<role>参数值。如果您不确定要为特定字段设置哪个值,您可以从集群中检查现有机器集:
$ oc get machinesets -n openshift-machine-api
输出示例
NAME DESIRED CURRENT READY AVAILABLE AGE agl030519-vplxk-worker-us-east-1a 1 1 1 1 55m agl030519-vplxk-worker-us-east-1b 1 1 1 1 55m agl030519-vplxk-worker-us-east-1c 1 1 1 1 55m agl030519-vplxk-worker-us-east-1d 0 0 55m agl030519-vplxk-worker-us-east-1e 0 0 55m agl030519-vplxk-worker-us-east-1f 0 0 55m
检查特定机器集的值:
$ oc get machineset <machineset_name> -n \ openshift-machine-api -o yaml输出示例
... template: metadata: labels: machine.openshift.io/cluster-api-cluster: agl030519-vplxk 1 machine.openshift.io/cluster-api-machine-role: worker 2 machine.openshift.io/cluster-api-machine-type: worker machine.openshift.io/cluster-api-machineset: agl030519-vplxk-worker-us-east-1a
创建新的
MachineSetCR:$ oc create -f <file_name>.yaml
查看机器集列表:
$ oc get machineset -n openshift-machine-api
输出示例
NAME DESIRED CURRENT READY AVAILABLE AGE agl030519-vplxk-infra-us-east-1a 1 1 1 1 11m agl030519-vplxk-worker-us-east-1a 1 1 1 1 55m agl030519-vplxk-worker-us-east-1b 1 1 1 1 55m agl030519-vplxk-worker-us-east-1c 1 1 1 1 55m agl030519-vplxk-worker-us-east-1d 0 0 55m agl030519-vplxk-worker-us-east-1e 0 0 55m agl030519-vplxk-worker-us-east-1f 0 0 55m
当新机器集可用时,
DESIRED和CURRENT的值会匹配。如果机器集不可用,请等待几分钟,然后再次运行命令。