附加组件
访问 klusterlet 附加组件的信息。
摘要
第 1 章 受管集群高级配置 复制链接链接已复制到粘贴板!
使用 Red Hat Advanced Cluster Management for Kubernetes klusterlet 附加组件,您可以进一步配置受管集群以提高性能并为应用程序添加功能。请查看以下启用选项:
1.1. 在集群中为集群管理启用 klusterlet 附加组件 复制链接链接已复制到粘贴板!
安装 Red Hat Advanced Cluster Management for Kubernetes 后,然后使用多集群引擎 Operator 创建或导入集群,您可以为这些受管集群启用 klusterlet 附加组件。如果您创建或导入集群,否则 Red Hat Advanced Cluster Management 控制台创建或导入,则不会启用 klusterlet 附加组件。请参阅以下可用的 klusterlet 附加组件:
- application-manager
- cert-policy-controller
- config-policy-controller
- governance-policy-framework
- search-collector
完成以下步骤,在安装 Red Hat Advanced Cluster Management 后为受管集群启用 klusterlet 附加组件:
创建一个类似于以下
KlusterletAddonConfig的 YAML 文件,其spec值代表附加组件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
policy-controller附加组件分为两个附加组件:governance-policy-framework和config-policy-controller。因此,policyController控制governance-policy-framework和config-policy-controllermanagedClusterAddons。
-
将文件保存为
klusterlet-addon-config.yaml。 在 hub 集群中运行以下命令来应用 YAML:
oc apply -f klusterlet-addon-config.yaml
oc apply -f klusterlet-addon-config.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 要验证在创建
KlusterletAddonConfig后是否创建了已启用的managedClusterAddons,请运行以下命令:oc get managedclusteraddons -n <cluster namespace>
oc get managedclusteraddons -n <cluster namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow
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 。
1.2.1. 设置 AddOnDeploymentConfig 来配置 klusterlet 附加组件 复制链接链接已复制到粘贴板!
在配置 klusterlet 附加组件时,您可以将规格应用到每个受管集群的任何附加组件中,如 nodeSelector 和 tolerations。要配置 klusterlet 附加组件,请完成以下步骤:
-
使用
AddonDeploymentConfigAPI 在 hub 集群上的任意命名空间中创建附加组件配置。 使用以下模板创建一个名为
addondeploymentconfig.yaml的文件:Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- 将
config-name替换为您刚才创建的AddonDeploymentConfig的名称 - 2
- 将
config-namespace替换为您刚才创建的AddonDeploymentConfig的命名空间 - 3
- 将
node-selector替换为您的节点选择器。 - 4
- 将
tolerations替换为您的容限。 - 5
- 在此处列出资源需求以覆盖附加工作负载容器的
资源。如果附加组件容器与列表中的多个项目匹配,则会应用最后匹配的配置。 - 6
- 将
<workload-kind> 替换为工作负载的类型,例如:deployment。将<workload-name> 替换为工作负载的名称。将 container-name 替换为容器的名称。对于这些值,您可以使用
*属性将配置应用到附加组件管理的所有对象。例如,如果您使用了*:*:*属性,它会将配置应用到配置附加到的任何附加组件中的每个工作负载类型的每个容器。完成的
AddOnDeploymentConfig类似以下示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.2.2. 为所有受管集群配置 klusterlet 附加组件 复制链接链接已复制到粘贴板!
设置 AddOnDeploymentConfig 后,您可以使用 ClusterManagementAddOn 配置它,然后将此附加组件配置应用到附加到 hub 集群的所有受管集群。要为所有受管集群配置 klusterlet 附加组件,请完成以下步骤:
运行以下命令,将
AddOnDeploymentConfig文件应用到 klusterlet 附加组件:oc apply -f addondeploymentconfig.yaml
oc apply -f addondeploymentconfig.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 通过修补
ClusterManagementAddOn资源,将您创建的新配置连接到所有受管集群的附加组件。运行以下命令来修补ClusterManagementAddOn中的spec.supportedConfigs参数以指向新配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
addon-name替换为您的附加组件名称 -
将
config-name替换为您刚才创建的AddonDeploymentConfig的名称 -
将
config-namespace替换为您刚才创建的AddonDeploymentConfig的命名空间
-
将
1.2.3. 为单个受管集群配置 klusterlet 附加组件 复制链接链接已复制到粘贴板!
您还可以在特定受管集群中覆盖附加组件的全局 default AddonDeploymentConfig 配置。通过覆盖,您可以为单个受管集群配置 klusterlet 附加组件,因为附加组件配置只适用于附加到 hub 集群该命名空间的特定受管集群。要覆盖配置,请完成以下步骤:
-
使用
AddonDeploymentConfigAPI 创建另一个配置,以指定 hub 集群上的nodeSelector和tolerations。 将您创建的新配置连接到受管集群命名空间中的 hub 集群上的
ManagedClusterAddOn附加组件。运行以下命令来修补ManagedClusterAddOn中的spec.configs参数以指向新配置:Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
将
managed-cluster替换为您的受管集群名称 -
将
addon-name替换为您的附加组件名称 -
将
config-namespace替换为您刚才创建的AddonDeploymentConfig的命名空间 -
将
config-name替换为您刚才创建的AddonDeploymentConfig的名称
-
将
您在 ManagedClusterAddOn 附加组件中引用的新配置会覆盖您在 ClusterManagementAddOn 附加组件之前定义的全局默认配置。
要确保您可以将内容部署到正确的节点,请参阅 可选:配置 klusterlet 以在特定节点上运行。
1.3. 在现有集群附加组件上启用集群范围代理 复制链接链接已复制到粘贴板!
您可以在集群命名空间中配置 KlusterletAddonConfig,将代理环境变量添加到受管 Red Hat OpenShift Container Platform 集群的所有 klusterlet 附加组件 pod 中。完成以下步骤以配置 KlusterletAddonConfig,将三个环境变量添加到 klusterlet 附加组件的 pod 中:
编辑位于需要代理的集群的
KlusterletAddonConfig文件。您可以使用控制台查找资源,也可以使用以下命令在终端中编辑:oc -n <my-cluster-name> edit klusterletaddonconfig <my-cluster-name>
oc -n <my-cluster-name> edit klusterletaddonconfig <my-cluster-name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注: 如果您只使用一个集群,则不需要命令末尾的
<my-cluster-name>。使用以下命令:oc -n <my-cluster-name> edit klusterletaddonconfig
oc -n <my-cluster-name> edit klusterletaddonconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow 编辑文件的
.spec.proxyConfig部分,使其类似以下示例。spec.proxyConfig是一个可选部分:spec proxyConfig: httpProxy: "<proxy_not_secure>" httpsProxy: "<proxy_secure>" noProxy: "<no_proxy>"spec proxyConfig: httpProxy: "<proxy_not_secure>"1 httpsProxy: "<proxy_secure>"2 noProxy: "<no_proxy>"3 Copy to Clipboard Copied! Toggle word wrap Toggle overflow 如果使用在 hub 集群上配置的集群范围内的代理创建 OpenShift Container Platform 集群,则集群范围的代理配置值会在满足以下条件时添加到 klusterlet add-ons 的 pod 中:
-
addon部分中的.spec.policyController.proxyPolicy被启用并设置为OCPGlobalProxy。 .spec.applicationManager.proxyPolocy被启用并设置为CustomProxy。注:
addon部分中的proxyPolicy默认值是Disabled。请参阅以下
proxyPolicy条目示例:Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
重要: 全局代理设置不会影响警报转发。要为使用集群范围代理的 Red Hat Advanced Cluster Management hub 集群设置警报转发,请参阅 转发警报 以了解更多详细信息。