第 8 章 在基础架构节点上部署 Red Hat Quay
默认情况下,所有与 quay相关的 pod 都会调度到 OpenShift Container Platform 集群中的可用 worker 节点上。在某些环境中,您可能希望专门为基础架构工作负载(如 registry、数据库和监控 pod)指定某些节点,以提高性能、隔离关键组件或简化维护。
OpenShift Container Platform 支持使用基础架构机器集,它会自动创建和管理为基础架构保留的节点。
作为 OpenShift Container Platform 管理员,您可以通过标记和污点 worker 节点来实现相同的结果。这样可确保只有基础架构工作负载(如 quay pod)才会调度到这些节点上。配置基础架构节点后,您可以使用节点选择器和容限控制 quay pod 运行的位置。
以下流程适用于在单一命名空间中安装 Red Hat Quay Operator 的新部署,并提供自己的后端存储。此流程演示了如何准备节点并在专用的基础架构节点上部署 Red Hat Quay。在此过程中,所有与 quay相关的 pod 都位于专用的基础架构节点上。
8.1. 为基础架构使用标记和污点节点 复制链接链接已复制到粘贴板!
使用以下步骤为基础架构使用的标签和污点节点。
以下流程使用 infra 标签标记三个 worker 节点。根据环境相关的资源,您可能需要使用 infra 标签标记超过三个 worker 节点。
输入以下命令获取部署中的 worker 节点列表:
oc get nodes | grep worker
$ oc get nodes | grep workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令,将
node-role.kubernetes.io/infra=标签添加到 worker 节点。所需的基础架构节点数量取决于您的环境。生产环境应该置备足够的 infra 节点,以确保所有与quay相关的组件的高可用性和足够资源。监控 CPU、内存和存储利用率,以确定是否需要额外的 infra 节点。oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=
$ oc label node --overwrite <infra_node_one> <infra_node_two> <infra_node_three> node-role.kubernetes.io/infra=Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输入以下命令确认
node-role.kubernetes.io/infra=标签已添加到正确的节点上:oc get node | grep infra
$ oc get node | grep infraCopy to Clipboard Copied! Toggle word wrap Toggle overflow --- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---
--- example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal Ready infra,worker 405d v1.32.8 example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal Ready infra,worker 406d v1.32.8 example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal Ready infra,worker 405d v1.32.8 ---Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当 worker 节点被分配了
infra角色时,用户工作负载可能会意外地分配给 infra 节点。要避免这种情况,您可以将污点应用到 infra 节点,然后为要控制的 pod 添加容限。输入以下命令,使用infra标签污点 worker 节点:oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwrite
$ oc adm taint nodes -l node-role.kubernetes.io/infra \ node-role.kubernetes.io/infra=reserved:NoSchedule --overwriteCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modified
node/example-cluster-new-c5qqp-worker-b-4zxx5.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-kz6jn.c.quay-devel.internal modified node/example-cluster-new-c5qqp-worker-b-wrhw4.c.quay-devel.internal modifiedCopy to Clipboard Copied! Toggle word wrap Toggle overflow