1.2. 配置 klusterlet 附加组件


在 Red Hat Advanced Cluster Management 中,您可以配置以下 klusterlet 附加组件以提高受管集群的性能和功能:

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

重要提示:您不能为observability-controller插件配置resourceRequirements

在配置 klusterlet 附加组件时,您可以将规格应用到每个受管集群的任何附加组件中,如 nodeSelectortolerations。要配置 klusterlet 附加组件,请完成以下步骤:

  1. 使用 AddonDeploymentConfig API 在 hub 集群上的任意命名空间中创建附加组件配置。
  2. 使用以下模板创建一个名为 addondeploymentconfig.yaml 的文件:

    apiVersion: addon.open-cluster-management.io/v1alpha1
    kind: AddOnDeploymentConfig
    metadata:
      name: config-name 
    1
    
      namespace: config-namespace 
    2
    
    spec:
      nodePlacement:
        nodeSelector: {<node-selector>} 
    3
    
        tolerations: {<tolerations>} 
    4
    
      resourceRequirements: 
    5
    
      - containerID: "<workload-kind>:<workload-name>:<container-name>" 
    6
    
        resources:
          requests:
            memory: 75Mi
          limits:
            memory: 150Mi
    Copy to Clipboard Toggle word wrap
    1
    config-name 替换为您刚才创建的 AddonDeploymentConfig 的名称
    2
    config-namespace 替换为您刚才创建的 AddonDeploymentConfig 的命名空间
    3
    node-selector 替换为您的节点选择器。
    4
    tolerations 替换为您的容限。
    5
    在此处列出资源需求以覆盖附加工作负载容器的资源。如果附加组件容器与列表中的多个项目匹配,则会应用最后匹配的配置。
    6
    <workload-kind > 替换为工作负载的类型,例如: deployment。将 <workload-name > 替换为工作负载的名称。将 container-name 替换为容器的名称。
    1. 对于这些值,您可以使用 * 属性将配置应用到附加组件管理的所有对象。例如,如果您使用了 *:*:* 属性,它会将配置应用到配置附加到的任何附加组件中的每个工作负载类型的每个容器。

      完成的 AddOnDeploymentConfig 类似以下示例:

    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
    Copy to Clipboard Toggle word wrap

1.2.2. 为所有受管集群配置 klusterlet 附加组件

设置 AddOnDeploymentConfig 后,您可以使用 ClusterManagementAddOn 配置它,然后将此附加组件配置应用到附加到 hub 集群的所有受管集群。要为所有受管集群配置 klusterlet 附加组件,请完成以下步骤:

  1. 运行以下命令,将 AddOnDeploymentConfig 文件应用到 klusterlet 附加组件:

    oc apply -f addondeploymentconfig.yaml
    Copy to Clipboard Toggle word wrap
  2. 通过修补 ClusterManagementAddOn 资源,将您创建的新配置连接到所有受管集群的附加组件。运行以下命令来修补 ClusterManagementAddOn 中的 spec.supportedConfigs 参数以指向新配置:

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

1.2.3. 为单个受管集群配置 klusterlet 附加组件

您还可以在特定受管集群中覆盖附加组件的全局 default AddonDeploymentConfig 配置。通过覆盖,您可以为单个受管集群配置 klusterlet 附加组件,因为附加组件配置只适用于附加到 hub 集群该命名空间的特定受管集群。要覆盖配置,请完成以下步骤:

  1. 使用 AddonDeploymentConfig API 创建另一个配置,以指定 hub 集群上的 nodeSelectortolerations
  2. 将您创建的新配置连接到受管集群命名空间中的 hub 集群上的 ManagedClusterAddOn 附加组件。运行以下命令来修补 ManagedClusterAddOn 中的 spec.configs 参数以指向新配置:

    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>"
      }]
    }]'
    Copy to Clipboard Toggle word wrap
    • managed-cluster 替换为您的受管集群名称
    • addon-name 替换为您的附加组件名称
    • config-namespace 替换为您刚才创建的 AddonDeploymentConfig 的命名空间
    • config-name 替换为您刚才创建的 AddonDeploymentConfig 的名称

您在 ManagedClusterAddOn 附加组件中引用的新配置会覆盖您在 ClusterManagementAddOn 附加组件之前定义的全局默认配置。

要确保您可以将内容部署到正确的节点,请参阅 可选:配置 klusterlet 以在特定节点上运行

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat