Red Hat Training

A Red Hat training course is available for OpenShift Container Platform

4.5.4.3. 配置 Dedicated Infrastructure 节点

建议您在生产环境中使用专用基础架构节点来运行 registry 和路由器 Pod,这样可以使它们独立于用于用户应用程序的 Pod。

openshift_router_selectoropenshift_registry_selector Ansible 设置决定了在放置 registry 和路由器 Pod 时使用的标签选择器。默认情况下,它们被设置为 node-role.kubernetes.io/infra=true:

# default selectors for router and registry services
# openshift_router_selector='node-role.kubernetes.io/infra=true'
# openshift_registry_selector='node-role.kubernetes.io/infra=true'

registry 和路由器只能在使用 node-role.kubernetes.io/infra=true 标签的节点主机上运行,这些标签被视为专用基础架构节点。确保 OpenShift Container Platform 环境中至少有一个节点主机具有 node-role.kubernetes.io/infra=true 标签。您可以使用默认 node-config-infra 设置这个标签:

[nodes]
infra-node1.example.com openshift_node_group_name='node-config-infra'
重要

如果 [nodes] 部分中没有与选择器设置匹配的节点,则默认路由器和 registry 将部署失败并带有 Pending 状态。

如果您不打算使用 OpenShift Container Platform 管理 registry 和路由器,请配置以下 Ansible 设置:

openshift_hosted_manage_registry=false
openshift_hosted_manage_router=false

如果使用默认 registry.redhat.io 以外的镜像 registry,则必须在 /etc/ansible/hosts 文件中 指定 registry

在 Master 中配置调度功能 所述,master 主机默认标记为可调度。如果标记了带有 node-role.kubernetes.io/infra=true 的 master 主机,且没有其他专用基础架构节点,则 master 主机还必须标记为可以调度。否则,registry 和路由器 Pod 将无法放置到任何节点。

您可以使用默认的 node-config-master-infra 节点组来实现这一目的:

[nodes]
master.example.com openshift_node_group_name='node-config-master-infra'