アドオン
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値を使用します。apiVersion: agent.open-cluster-management.io/v1 kind: KlusterletAddonConfig metadata: name: <cluster_name> namespace: <cluster_name> spec: applicationManager: enabled: true certPolicyController: enabled: true policyController:1 enabled: true searchCollector: enabled: true- 1
policy-controllerアドオンは、governance-policy-frameworkとconfig-policy-controllerの 2 つのアドオンに分かれています。その結果、policyControllerはgovernance-policy-frameworkとconfig-policy-controllermanagedClusterAddonsを制御します。
-
ファイルは
klusterlet-addon-config.yamlとして保存します。 ハブクラスターで次のコマンドを実行して、YAML を適用します。
oc apply -f klusterlet-addon-config.yamlKlusterletAddonConfigの作成後に、有効なmanagedClusterAddonsが作成されたかどうかを確認するには、次のコマンドを実行します。oc get managedclusteraddons -n <cluster namespace>
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
重要: Red Hat Advanced Cluster Management バージョン 2.13 では、次のアドオンに対してのみ resourceRequirements を設定できます。
- cert-policy-controller
- config-policy-controller
- governance-policy-framework
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
- 注意: Red Hat Advanced Cluster Management バージョン 2.13 では、ポリシーアドオンの
resourceRequirementsのみを設定できます。アドオンワークロードコンテナーの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 を設定する を参照してください。
1.3. 既存のクラスターアドオンでクラスター全体のプロキシーを有効にする リンクのコピーリンクがクリップボードにコピーされました!
クラスター namespace で KlusterletAddonConfig を設定して、Red Hat OpenShift Container Platform のマネージドのクラスターのすべての klusterlet アドオン Pod にプロキシー環境変数を追加できます。KlusterletAddonConfig が 3 つの環境変数を klusterlet アドオンの Pod に追加するように設定するには、以下の手順を実行します。
プロキシーが必要なクラスターの namespace にある
KlusterletAddonConfigファイルを編集します。コンソールを使用してリソースを見つけるか、ターミナルから次のコマンドを使用して編集できます。oc -n <my-cluster-name> edit klusterletaddonconfig <my-cluster-name>注記: 1 つのクラスターのみで作業している場合、コマンドの最後に
<my-cluster-name>は必要ありません。以下のコマンドを使用します。oc -n <my-cluster-name> edit klusterletaddonconfigファイルの
.spec.proxyConfigセクションを編集して、以下の例のようにします。spec.proxyConfigは任意のセクションです。spec proxyConfig: httpProxy: "<proxy_not_secure>"1 httpsProxy: "<proxy_secure>"2 noProxy: "<no_proxy>"3 OpenShift Container Platform クラスターがハブクラスターでクラスターワイドプロキシーを設定して作成されている場合は、以下の条件が満たされると、クラスターワイドプロキシー設定値が環境変数として klusterlet アドオンの Pod に追加されます。
-
addonセクションの.spec.policyController.proxyPolicyが有効になり、OCPGlobalProxyに設定されます。 .spec.applicationManager.proxyPolicyが有効になり、CustomProxyに設定されます。注記:
addonセクションのproxyPolicyのデフォルト値はDisabledです。次の
proxyPolicyエントリーの例を参照してください。apiVersion: agent.open-cluster-management.io/v1 kind: KlusterletAddonConfig metadata: name: clusterName namespace: clusterName spec: proxyConfig: httpProxy: http://pxuser:12345@10.0.81.15:3128 httpsProxy: http://pxuser:12345@10.0.81.15:3128 noProxy: .cluster.local,.svc,10.128.0.0/14, example.com applicationManager: enabled: true proxyPolicy: CustomProxy policyController: enabled: true proxyPolicy: OCPGlobalProxy searchCollector: enabled: true proxyPolicy: Disabled certPolicyController: enabled: true proxyPolicy: Disabled
-
重要: グローバルプロキシー設定は、アラートの転送には影響しません。クラスター全体のプロキシーを使用して Red Hat Advanced Cluster Management ハブクラスターのアラート転送を設定する場合は、その詳細を アラートの転送 で参照してください。