1.2. 为 klusterlet 附加组件配置 nodeSelectors 和 tolerations
在 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
完成以下步骤:
-
使用
AddonDeploymentConfigAPI 创建配置,在 hub 集群上的特定命名空间中指定nodeSelector和tolerations。 根据以下模板,创建一个名为
addondeploymentconfig.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 完成的
AddOnDeployment文件可能类似以下示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令以应用您创建的文件:
oc apply -f addondeploymentconfig
oc apply -f addondeploymentconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,使用您创建的配置作为附加组件的全局默认配置:
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"}}]}]'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"}}]}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
addon-name替换为您的附加组件名称。 -
将
config-name替换为您刚才创建的AddonDeploymentConfig的名称。 -
将
config-namespace替换为您刚才创建的AddonDeploymentConfig的命名空间。
-
将
您指定的 nodeSelector 和 tolerations 应用到每个受管集群的所有附加组件。
您还可以按照以下步骤覆盖特定受管集群中附加组件的全局默认 AddonDeploymentConfig 配置:
-
使用
AddonDeploymentConfigAPI 创建另一个配置,以指定 hub 集群上的nodeSelector和tolerations。 将您创建的新配置链接到受管集群的附加组件
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>"} ]}]'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 Copied! Toggle word wrap Toggle overflow -
将
managed-cluster替换为您的受管集群名称 -
将
addon-name替换为您的附加组件名称 -
将
config-namespace替换为您刚才创建的AddonDeploymentConfig的命名空间 -
将
config-name替换为您刚才创建的AddonDeploymentConfig的名称
-
将
您在 add-on ManagedClusterAddon 中引用的新配置会覆盖您之前在 ClusterManagementAddon 附加组件中定义的全局默认配置。