アドオン
第1章 アドオンの概要
Red Hat Advanced Cluster Management for Kubernetes アドオンは、パフォーマンスの一部の領域を改善し、アプリケーションを強化する機能を追加できます。以下のセクションでは、Red Hat Advanced Cluster Management で使用できるアドオンの概要を説明します。
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
- iam-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 iamPolicyController: 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-controller
managedClusterAddons
を制御します。
-
ファイルは
klusterlet-addon-config.yaml
として保存します。 ハブクラスターで次のコマンドを実行して、YAML を適用します。
oc apply -f klusterlet-addon-config.yaml
KlusterletAddonConfig
の作成後に、有効なmanagedClusterAddons
が作成されたかどうかを確認するには、次のコマンドを実行します。oc get managedclusteraddons -n <cluster namespace>
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
以下の手順を実行します。
-
AddonDeploymentConfig
API を使用して、Red Hat Advanced Cluster Management インストールに使用した namespace 内のnodeSelector
とtolerations
を指定するための設定を作成します。 以下のテンプレートに基づいて、
addondeploymentconfig.yaml
という名前のファイルを作成します。apiVersion: addon.open-cluster-management.io/v1alpha1 kind: AddOnDeploymentConfig metadata: name: config-name 1 namespace: config-name-space 2 spec: nodePlacement: nodeSelector: node-selector 3 tolerations: tolerations 4
完成した
AddOnDeployment
ファイルは次の例のようになります。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
次のコマンドを実行して、作成したファイルを適用します。
oc apply -f addondeploymentconfig
次のコマンドを実行して、作成した設定をアドオンのグローバルなデフォルト設定として使用します。
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"}}]}]'
-
addon-name
は、アドオン名に置き換えます。 -
config-name
は、上記で作成したAddonDeploymentConfig
の名前に置き換えます。 -
config-namespace
は、上記で作成したAddonDeploymentConfig
の namespace に置き換えます。
-
指定した nodeSelector
と tolerations
は、各マネージドクラスター上のすべてのアドオンに適用されます。
次の手順を使用して、特定のマネージドクラスター上におけるアドオンのグローバルデフォルトの AddonDeploymentConfig
設定をオーバーライドすることもできます。
-
AddonDeploymentConfig
API を使用して別の設定を作成し、ハブクラスター上の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>"} ]}]'
-
managed-cluster
は、マネージドクラスター名に置き換えます。 -
addon-name
を、アドオン名に置き換えます。 -
config-namespace
を作成したばかりのAddonDeploymentConfig
の名前空間に置き換えます。 -
config-name
を、作成したばかりのAddonDeploymentConfig
の名前に置き換えます。
-
アドオン ManagedClusterAddon
で参照した新しい設定は、ClusterManagementAddon
アドオンで以前に定義したグローバルなデフォルト設定をオーバーライドします。
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.proxyPolocy
が有効になり、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 iamPolicyController: enabled: true proxyPolicy: Disabled
-
重要: グローバルプロキシー設定は、アラートの転送には影響しません。クラスター全体のプロキシーを使用して Red Hat Advanced Cluster Management ハブクラスターのアラート転送を設定する場合は、その詳細を アラートの転送 で参照してください。