1.4. MultiClusterHub 詳細設定
Red Hat Advanced Cluster Management for Kubernetes は、必要なコンポーネントをすべてデプロイする Operator でインストールします。リストされているコンポーネントの一部はデフォルトで有効になっています。コンポーネントが disabled になっている場合、そのリソースは有効になるまでクラスターにデプロイされません。オペレーターは、次のコンポーネントのデプロイに取り組みます。
名前 | 設定 | Enabled |
app-lifecycle | アプリケーションとアプリケーションの更新を構築およびデプロイメントするためのオプションを統合および簡素化します。 | True |
cluster-backup | マネージドクラスター、アプリケーション、ポリシーなどのすべてのハブクラスターリソースのバックアップと復元のサポートを提供します。 | False |
cluster-lifecycle | OpenShift Container Platform および Red Hat Advanced Cluster Management ハブクラスターにクラスター管理機能を提供します。 | True |
cluster-permission | RBAC リソースをマネージドクラスターに自動的に分散し、それらのリソースのライフサイクルを管理します。 | True |
console | Red Hat Advanced Cluster Management Web コンソールプラグインを有効にします。 | True |
grc | クラスターのポリシーを定義するためのセキュリティー強化を有効にします。 | True |
insights | クラスター内の既存の問題または潜在的な問題を特定します。 | True |
multicluster-observability | 監視を有効にして、マネージドクラスターの健全性についてさらに詳しい洞察を得ることができます。 | True |
search | すべてのクラスターにわたる Kubernetes リソースの可視性を提供します。 | True |
submariner-addon | オンプレミスまたはクラウドの環境内の 2 つ以上のマネージドクラスター間の直接ネットワーキングとサービス検出を可能にします。 | True |
volsync | クラスター内の永続ボリュームの非同期レプリケーション、またはレプリケーションに互換性のないストレージタイプのクラスター間での永続ボリュームの非同期レプリケーションをサポートします。 | True |
Red Hat Advanced Cluster Management をクラスターにインストールする場合、リストされているコンポーネントのすべてがデフォルトで有効になるわけではありません。
MultiClusterHub
カスタムリソースに 1 つ以上の属性を追加することで、インストール中またはインストール後に Red Hat Advanced Cluster Management をさらに設定できます。追加できる属性については、このまま読み進めてください。
1.4.1. コンソールとコンポーネントの設定
次の例では、コンポーネントを有効または無効にするために使用できる spec.overrides
デフォルトテンプレートを表示します。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> 1 spec: overrides: components: - name: <name> 2 enabled: true
-
namespace
はお使いのプロジェクト名に置き換えます。 -
name
をコンポーネントの名前に置き換えます。
あるいは、以下のコマンドを実行します。namespace
プロジェクトの名前に置き換え、name
をコンポーネントの名前に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
注記: console
コンポーネントが無効になると、Red Hat OpenShift Container Platform コンソールも無効になります。
1.4.2. カスタムイメージプルシークレット
OpenShift Container Platform または Red Hat Advanced Cluster Management で作成されていない Kubernetes クラスターをインポートする予定がある場合は、OpenShift Container Platform プルシークレットの情報を含むシークレットを生成して、ディストリビューションレジストリーから資格のあるコンテンツにアクセスします
OpenShift Container Platform クラスターのシークレット要件は、OpenShift Container Platform および Red Hat Advanced Cluster Management により自動で解決されるため、他のタイプの Kubernetes クラスターをインポートして管理しない場合は、このシークレットを作成する必要がありません。OpenShift Container Platform プルシークレットは Red Hat カスタマーポータル ID に関連しており、すべての Kubernetes プロバイダーで同じです。
重要: これらのシークレットは、namespace ごとに異なるため、手順 1 で作成した namespace で操作を行うようにしてください。
- cloud.redhat.com/openshift/install/pull-secret に移動して、OpenShift Container Platform のプルシークレットファイルをダウンロードします。
- Download pull secret をクリックします。
以下のコマンドを実行してシークレットを作成します。
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
-
secret
は作成するシークレット名に置き換えます。 -
シークレットは namespace 固有であるため、
namespace
はプロジェクトの namespace に置き換えます。 -
path-to-pull-secret
はダウンロードした OpenShift Container Platform のプルシークレットへのパスに置き換えます。
-
以下の例では、カスタムプルシークレットを使用する場合に使用する spec.imagePullSecret
テンプレートを表示しています。secret は、プルシークレット名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret>
1.4.3. availabilityConfig
Red Hat Advanced Cluster Management ハブクラスターには、High
と Basic
の 2 つのアイラビリティーがあります。デフォルトでは、ハブクラスターには High
の可用性があります。これにより、ハブクラスターコンポーネントに replicaCount
2
が提供されます。これにより、フェイルオーバー時のサポートが向上しますが、Basic
可用性よりも多くのリソースを消費します。これにより、コンポーネントには replicaCount
1
が提供されます。
重要: シングルノード OpenShift クラスターでマルチクラスターエンジン Operator を使用している場合は、spec.availabilityConfig
を Basic
に設定します。
以下の例は、Basic
の可用性のある spec.availabilityConfig
テンプレートを示しています。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: availabilityConfig: "Basic"
1.4.4. nodeSelector
Red Hat Advanced Cluster Management ハブクラスターでノードセレクターのセットを定義して、クラスターの特定のノードにインストールできます。以下の例は、node-role.kubernetes.io/infra
ラベルの付いたノードに Red Hat Advanced Cluster Management Pod を割り当てる spec.nodeSelector
を示しています。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: nodeSelector: node-role.kubernetes.io/infra: ""
1.4.5. Toleration
容認のリストを定義して、Red Hat Advanced Cluster Management ハブクラスターがクラスターで定義された特定のテイントを容認できるようにします。
以下の例は、node-role.kubernetes.io/infra
テイントに一致する spec.tolerations
を示しています。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists
以前の infra-node Toleration は、設定に Toleration を指定せずにデフォルトで Pod に設定されます。設定で容認をカスタマイズすると、このデフォルトが置き換えられます。
1.4.6. disableHubSelfManagement
デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターは、自動的にインポートされ、管理されます。この マネージド ハブクラスターの名前は local-cluster
です。ハブクラスターが自身を管理するかどうかを指定する設定は、multiclusterengine
カスタムリソースにあります。Red Hat Advanced Cluster Management で、この設定を変更すると、multiclusterengine
カスタムリソースの設定が自動的に変更されます。
注記: マルチクラスターエンジン Operator クラスターを管理している Red Hat Advanced Cluster Management ハブクラスターでは、以前の手動設定はすべてこのアクションに置き換えられます。
Red Hat Advanced Cluster Management ハブクラスターが自身を管理しないようにする場合は、spec.disableHubSelfManagement
の設定を false
から true
に変更する必要があります。この設定が、カスタムリソースを定義する YAML ファイルに含まれていない場合は、これを追加する必要があります。ハブクラスターは、このオプションでのみ管理できます。
このオプションを true
に設定し、ハブの管理を試みると、予期しない動作が発生します。
以下の例は、ハブクラスターの自己管理機能を無効にする場合に使用するデフォルトのテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableHubSelfManagement: true
デフォルトの local-cluster
を有効にするには、設定を false
に戻すか、この設定を削除します。
1.4.7. disableUpdateClusterImageSets
すべてのクラスターに同じリリースイメージを使用するようにする必要がある場合は、クラスターの作成時に利用可能なリリースイメージのカスタムリストを作成できます。
利用可能なリリースイメージを管理し、カスタムイメージリストの上書きを停止する spec.disableUpdateClusterImageSets
属性を設定するには、接続時におけるリリースイメージのカスタム一覧の管理 の次の手順を参照してください。
以下の例は、クラスターイメージセットへの更新を無効にするデフォルトのテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableUpdateClusterImageSets: true
1.4.8. customCAConfigmap (非推奨)
デフォルトで、Red Hat OpenShift Container Platform は Ingress Operator を使用して内部 CA を作成します。
以下の例は、カスタマイズされた OpenShift Container Platform のデフォルト Ingress CA 証明書を Red Hat Advanced Cluster Management に提供するのに使用されるデフォルトのテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。spec.customCAConfigmap
の値は ConfigMap
の名前に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: customCAConfigmap: <configmap>
1.4.9. sslCiphers (非推奨)
デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターには、サポートされる SSL 暗号の詳細一覧が含まれます。
以下の例は、管理 Ingress の sslCiphers
をリスト表示するのに使用されるデフォルトの spec.ingress.sslCiphers
テンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: ingress: sslCiphers: - "ECDHE-ECDSA-AES128-GCM-SHA256" - "ECDHE-RSA-AES128-GCM-SHA256"
1.4.10. ClusterBackup
enableClusterBackup
フィールドはサポートされなくなり、このコンポーネントに置き換えられました。
以下の例は、ClusterBackup
の有効化に使用される spec.overrides
のデフォルトテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: overrides: components: - name: cluster-backup enabled: true
あるいは、以下のコマンドを実行します。namespace
はお使いのプロジェクト名に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"cluster-backup","enabled":true}}]'