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 を使用して、ハブクラスター上の任意の namespace にアドオン設定を作成します。 次のテンプレートを使用して、
addondeploymentconfig.yamlという名前のファイルを作成します。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: AddOnDeploymentConfig metadata: name: config-name1 namespace: config-namespace2 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- 1
config-nameは、作成済みのAddonDeploymentConfigの名前に置き換えます。- 2
config-namespaceは、作成済みのAddonDeploymentConfigの namespace に置き換えます。- 3
<node-selector>は、独自のノードセレクターに置き換えます。- 4
<tolerations>は、独自の tolerations に置き換えます。- 5
- アドオンワークロードコンテナーの
resourcesをオーバーライドするには、ここでリソース要件をリストします。アドオンコンテナーがリスト内の複数の項目と一致する場合、最後に一致した設定が適用されます。 - 6
<workload-kind>は、ワークロードの種類に置き換えます (例:deployment)。<workload-name>は、ワークロードの名前に置き換えます。<container-name>は、コンテナーの名前に置き換えます。これらの値のいずれにも、
*属性を使用して、アドオンによって管理されるすべてのオブジェクトに設定を適用できます。たとえば、*:*:*属性を使用した場合、設定がアタッチされているすべてのアドオン内のすべてのワークロードの種類のコンテナーすべてに設定が適用されます。完成した
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
1.2.2. すべてのマネージドクラスターに klusterlet アドオンを設定する リンクのコピーリンクがクリップボードにコピーされました!
AddOnDeploymentConfig をセットアップした後、ClusterManagementAddOn を使用してこれを設定できます。これにより、ハブクラスターに接続されているすべてのマネージドクラスターにこのアドオン設定が適用されます。すべてのマネージドクラスターに対して klusterlet アドオンを設定するには、次の手順を実行します。
次のコマンドを実行して、
AddOnDeploymentConfigファイルを klusterlet アドオンに適用します。oc apply -f addondeploymentconfig.yamlClusterManagementAddOnリソースにパッチを適用して、作成した新しい設定をすべてのマネージドクラスターのアドオンに接続します。次のコマンドを実行して、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>"} }] }]'-
<addon-name>は、独自のアドオン名に置き換えます。 -
<config-name>は、作成済みのAddonDeploymentConfigの名前に置き換えます。 -
<config-namespace>は、作成済みのAddonDeploymentConfigの namespace に置き換えます。
-
1.2.3. 単一のマネージドクラスター用の klusterlet アドオンの設定 リンクのコピーリンクがクリップボードにコピーされました!
特定のマネージドクラスター上のアドオンのグローバルデフォルト AddonDeploymentConfig 設定をオーバーライドすることもできます。アドオン設定は、ハブクラスターのその namespace にアタッチされた特定のマネージドクラスターにのみ適用されるため、オーバーライドすると、単一のマネージドクラスターに対して klusterlet アドオンを設定できます。設定をオーバーライドするには、次の手順を実行します。
-
AddonDeploymentConfigAPI を使用して別の設定を作成し、ハブクラスター上のnodeSelectorとtolerationsを指定します。 作成した新しい設定を、マネージドクラスター namespace のハブクラスター上の
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>" }] }]'-
managed-clusterは、マネージドクラスター名に置き換えます。 -
addon-nameを、アドオン名に置き換えます。 -
config-namespaceは、作成済みのAddonDeploymentConfigの namespace に置き換えます。 -
config-nameは、作成済みのAddonDeploymentConfigの名前に置き換えます。
-
ManagedClusterAddOn アドオンで参照した新しい設定は、以前に ClusterManagementAddOn アドオンで定義したグローバルデフォルト設定をオーバーライドします。
コンテンツを正しいノードにデプロイできるようにするには、オプション: 特定のノードで実行するように klusterlet を設定する を参照してください。