11.9. 平衡忽略托管的集群中的标签


扩展节点池后,您可以使用 balancingIgnoredLabels 在节点池中平均分配机器。

先决条件

  • 您已创建了 HostedClusterNodePool 资源。

流程

  1. 使用相同的标签值,将 node.group.balancing.ignored 标签添加到每个相关节点池。运行以下命令:

    $ oc patch -n <hosted_cluster_namespace> \
      nodepool <node_pool_name> \
      --type=merge \
      --patch='{"spec": {"nodeLabels": {"node.group.balancing.ignored": "<label_name>"}}}'
    Copy to Clipboard Toggle word wrap
  2. 运行以下命令,为托管集群启用集群自动扩展:

    $ oc patch -n <hosted_cluster_namespace> \
     hostedcluster <hosted_cluster_name> \
     --type=merge \
     --patch='{"spec": {"autoscaling": {"balancingIgnoredLabels": ["node.group.balancing.ignored"]}}}'
    Copy to Clipboard Toggle word wrap
  3. NodePool 资源中删除 spec.replicas 字段,以允许集群自动扩展管理节点数。运行以下命令:

    $ oc patch -n <hosted_cluster_namespace> \
      nodepool <node_pool_name> \
      --type=json \
      --patch='[{"op": "remove", "path": "/spec/replicas"}]'
    Copy to Clipboard Toggle word wrap
  4. 启用集群自动扩展,为节点池配置最小和最大节点数。运行以下命令:

    $ oc patch -n <hosted_cluster_namespace> \
      nodepool <nodepool_name> \
      --type=merge --patch='{"spec": {"autoScaling": {"max": 3, "min": 1}}}'
    Copy to Clipboard Toggle word wrap
  5. 运行以下命令来生成 kubeconfig 文件:

    $ hcp create kubeconfig \
      --name <hosted_cluster_name> \
      --namespace <hosted_cluster_namespace> > nested.config
    Copy to Clipboard Toggle word wrap
  6. 在扩展节点池后,运行以下命令来检查所有计算节点是否处于 Ready 状态:

    $ oc --kubeconfig nested.config get nodes -l 'hypershift.openshift.io/nodePool=<node_pool_name>'
    Copy to Clipboard Toggle word wrap
  7. 运行以下命令确认新节点包含 node.group.balancing.ignored 标签:

    $ oc --kubeconfig nested.config get nodes \
      -l 'hypershift.openshift.io/nodePool=<node_pool_name>' \
      -o jsonpath='{.items[*].metadata.labels}' | grep "node.group.balancing.ignored"
    Copy to Clipboard Toggle word wrap
  8. 运行以下命令,为托管集群启用集群自动扩展:

    $ oc patch -n <hosted_cluster_namespace> \
      hostedcluster <hosted_cluster_name> \
      --type=merge \
      --patch='{"spec": {"autoscaling": {"balancingIgnoredLabels": ["node.group.balancing.ignored"]}}}'
    Copy to Clipboard Toggle word wrap

验证

  • 验证每个节点池调配的节点数量平均分布。例如,如果您创建了具有相同标签值的三个节点池,节点数可能是 3、2 和 3。运行以下命令:

    $ oc --kubeconfig nested.config get nodes -l 'hypershift.openshift.io/nodePool=<node_pool_name>'
    Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat