搜索

1.2. 为 klusterlet 附加组件配置 nodeSelectors 和 tolerations

download PDF

在 Red Hat Advanced Cluster Management 中,您可以为以下 klusterlet 附加组件配置 nodeSelector 和 tolerations:

  • application-manager
  • cert-policy-controller
  • cluster-proxy
  • config-policy-controller
  • governance-policy-framework
  • hypershift-addon
  • iam-policy-controller
  • managed-serviceaccount
  • observability-controller
  • search-collector
  • submariner
  • volsync
  • work-manager

完成以下步骤:

  1. 使用 AddonDeploymentConfig API 创建一个配置,在用于 Red Hat Advanced Cluster Management 安装的命名空间中指定 nodeSelectortolerations
  2. 根据以下模板,创建一个名为 addondeploymentconfig.yaml 的文件:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: config-name 1
      namespace: config-name-space 2
    spec:
      nodePlacement:
        nodeSelector: node-selector 3
        tolerations: tolerations 4
    1
    config-name 替换为您刚才创建的 AddonDeploymentConfig 的名称。
    2
    config-namespace 替换为您刚才创建的 AddonDeploymentConfig 的命名空间。
    3
    node-selector 替换为您的节点选择器。
    4
    tolerations 替换为您的容限。

    完成的 AddOnDeployment 文件可能类似以下示例:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: deploy-config
      namespace: open-cluster-management-hub
    spec:
      nodePlacement:
        nodeSelector:
          "node-dedicated": "acm-addon"
        tolerations:
          - effect: NoSchedule
            key: node-dedicated
            value: acm-addon
            operator: Equal
  3. 运行以下命令以应用您创建的文件:

    oc apply -f addondeploymentconfig
  4. 运行以下命令,使用您创建的配置作为附加组件的全局默认配置:

    oc patch clustermanagementaddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/supportedConfigs", "value":[{"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs", "defaultConfig":{"name":"deploy-config","namespace":"open-cluster-management-hub"}}]}]'
    • addon-name 替换为您的附加组件名称。
    • config-name 替换为您刚才创建的 AddonDeploymentConfig 的名称。
    • config-namespace 替换为您刚才创建的 AddonDeploymentConfig 的命名空间。

您指定的 nodeSelectortolerations 应用到每个受管集群的所有附加组件。

您还可以按照以下步骤覆盖特定受管集群中附加组件的全局默认 AddonDeploymentConfig 配置:

  1. 使用 AddonDeploymentConfig API 创建另一个配置,以指定 hub 集群上的 nodeSelectortolerations
  2. 将您创建的新配置链接到受管集群的附加组件 ManagedClusterAddon

    oc -n <managed-cluster> patch managedclusteraddons <addon-name> --type='json' -p='[{"op":"add", "path":"/spec/configs", "value":[
    
    {"group":"addon.open-cluster-management.io","resource":"addondeploymentconfigs","namespace":"<config-namespace>","name":"<config-name>"}
    ]}]'
    • managed-cluster 替换为您的受管集群名称
    • addon-name 替换为您的附加组件名称
    • config-namespace 替换为您刚才创建的 AddonDeploymentConfig 的命名空间
    • config-name 替换为您刚才创建的 AddonDeploymentConfig 的名称

您在 add-on ManagedClusterAddon 中引用的新配置会覆盖您之前在 ClusterManagementAddon 附加组件中定义的全局默认配置。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.