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>
spec:
overrides:
components:
- name: <name>
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}}]'