1.6. MultiClusterHub 詳細設定
Red Hat Advanced Cluster Management for Kubernetes は、MultiClusterHub
Operator を使用してインストールします。この Operator は必要なすべてのコンポーネントをデプロイします。リストされているコンポーネントの一部はデフォルトで有効になっています。コンポーネントが disabled になっている場合、そのリソースは有効になるまでクラスターにデプロイされません。
Operator がデプロイするコンポーネントは次のとおりです。
名前 | 説明 | 有効 |
app-lifecycle | アプリケーションとアプリケーションの更新を構築してデプロイするためのオプションを統合および簡素化します。 | True |
cluster-backup | マネージドクラスター、アプリケーション、ポリシーなどのすべてのハブクラスターリソースのバックアップと復元のサポートを提供します。 | False |
cluster-lifecycle | OpenShift Container Platform および Red Hat Advanced Cluster Management ハブクラスターにクラスター管理機能を提供します。 | True |
cluster-permission | RBAC リソースをマネージドクラスターに自動的に分散し、それらのリソースのライフサイクルを管理します。 | True |
edge-manager-preview | エッジデバイスフリートの GitOps 主導の宣言型管理サービスを有効にします。 | False |
console | Red Hat Advanced Cluster Management Web コンソールプラグインを有効にします。 | True |
edge-manager-preview | エッジデバイスフリートの GitOps 主導の宣言型管理サービスを有効にします。 | False |
grc | クラスターのポリシーを定義するためのセキュリティー強化を有効にします。 | True |
insights | クラスター内の既存の問題または潜在的な問題を特定します。 | True |
multicluster-observability | 監視を有効にして、マネージドクラスターの健全性についてさらに詳しい洞察を得ることができます。 | True |
search | すべてのクラスターにわたる Kubernetes リソースの可視性を提供します。 | True |
siteconfig | テンプレートと統合されたフロントエンド API を使用して、大規模なクラスターのプロビジョニングを可能にします。 | False |
submariner-addon | オンプレミスまたはクラウドの環境内の 2 つ以上のマネージドクラスター間の直接ネットワーキングとサービス検出を可能にします。 | True |
volsync | クラスター内の永続ボリュームの非同期レプリケーション、またはレプリケーションに互換性のないストレージタイプのクラスター間での永続ボリュームの非同期レプリケーションをサポートします。 | True |
Red Hat Advanced Cluster Management をクラスターにインストールする場合、リストされているコンポーネントのすべてがデフォルトで有効になるわけではありません。
MultiClusterHub
カスタムリソースに 1 つ以上の属性を追加することで、インストール中またはインストール後に Red Hat Advanced Cluster Management をさらに設定できます。追加できる属性は、このまま読み進めてください。
1.6.1. コンソールとコンポーネントの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の例では、コンポーネントを有効または無効にするために使用できる spec.overrides
デフォルトテンプレートを表示します。
-
namespace
はお使いのプロジェクト名に置き換えます。 -
name
をコンポーネントの名前に置き換えます。
あるいは、以下のコマンドを実行します。namespace
プロジェクトの名前に置き換え、name
をコンポーネントの名前に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"<name>","enabled":true}}]'
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.6.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
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjson
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
secret
は作成するシークレット名に置き換えます。 -
シークレットは namespace 固有であるため、
namespace
はプロジェクトの namespace に置き換えます。 -
path-to-pull-secret
はダウンロードした OpenShift Container Platform のプルシークレットへのパスに置き換えます。
-
以下の例では、カスタムプルシークレットを使用する場合に使用する spec.imagePullSecret
テンプレートを表示しています。secret は、プルシークレット名に置き換えます。
1.6.3. availabilityConfig リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management ハブクラスターには、High
と Basic
の 2 つの可用性があります。デフォルトでは、ハブクラスターには High
の可用性があります。これにより、ハブクラスターコンポーネントに replicaCount
2
が提供されます。これにより、フェイルオーバー時のサポートが向上しますが、Basic
可用性よりも多くのリソースを消費します。これにより、コンポーネントには replicaCount
1
が提供されます。
重要: シングルノード OpenShift クラスターで multicluster engine Operator を使用している場合は、spec.availabilityConfig
を Basic
に設定します。
以下の例は、Basic
の可用性のある spec.availabilityConfig
テンプレートを示しています。
1.6.4. nodeSelector リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management ハブクラスターでノードセレクターのセットを定義して、クラスターの特定のノードにインストールできます。以下の例は、node-role.kubernetes.io/infra
ラベルの付いたノードに Red Hat Advanced Cluster Management Pod を割り当てる spec.nodeSelector
を示しています。
multicluster engine Operator ハブクラスターのノードセレクターのセットを定義するには、multicluster engine Operator のドキュメントの nodeSelector を参照してください。
1.6.5. tolerations リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Advanced Cluster Management ハブクラスターがクラスターに定義された特定の taint を許容できるように、toleration のリストを定義できます。
以下の例は、node-role.kubernetes.io/infra
taint にマッチする spec.tolerations
を示しています。
上記の infra ノードの toleration は、設定に toleration を指定しなくても、デフォルトで Pod に設定されます。設定内の toleration をカスタマイズすると、このデフォルトが置き換えられます。
multicluster engine Operator ハブクラスターの toleration リストを定義するには、multicluster engine Operator のドキュメントの tolreations を参照してください。
1.6.6. disableHubSelfManagement リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターは自動的にインポートされ、ハブクラスターは自身を管理します。自身を管理するハブクラスターは local-cluster
と呼ばれます。
disableHubSelfManagement
フィールドが true
に設定され、ローカルクラスター機能が無効になっている場合は、spec.localClusterName
の名前を変更できます。
ローカルクラスターを有効にするために、disableHubSelfManagement
フィールドが false
に設定されている場合、local-cluster
の名前を変更できません。
<your-local-cluster-name>
値には 34 文字以下を使用する必要があります。local-cluster
リソースと namespace に変更が反映されます。
Red Hat Advanced Cluster Management ハブクラスターが自身を管理しないようにする場合は、spec.disableHubSelfManagement
の設定を false
から true
に変更する必要があります。
disableHubSelfManagement:true
が指定されている、次の YAML サンプルを参照してください。これは、local-cluster
設定を無効にします。namespace
はお使いのプロジェクト名に置き換えます。
デフォルトの local-cluster
を有効にするには、設定を false
に戻します。この設定を削除して、ハブクラスターが自身をローカルクラスターとして管理するデフォルトの動作に戻すこともできます。
disableHubSelfManagement
オプションを true
に設定し、ハブクラスターを手動で管理しようとすると、予期しない動作が発生します。
multicluster engine Operator クラスターを管理している Red Hat Advanced Cluster Management ハブクラスターでは、以前の手動設定はすべて新しい設定に置き換えられます。
1.6.7. disableUpdateClusterImageSets リンクのコピーリンクがクリップボードにコピーされました!
すべてのクラスターに同じリリースイメージを使用するようにする必要がある場合は、クラスターの作成時に利用可能なリリースイメージのカスタムリストを作成できます。
利用可能なリリースイメージを管理し、カスタムイメージリストの上書きを停止する spec.disableUpdateClusterImageSets
属性を設定するには、接続時におけるリリースイメージのカスタム一覧の管理 の次の手順を参照してください。
以下の例は、クラスターイメージセットへの更新を無効にするデフォルトのテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
1.6.8. customCAConfigmap (非推奨) リンクのコピーリンクがクリップボードにコピーされました!
デフォルトで、Red Hat OpenShift Container Platform は Ingress Operator を使用して内部 CA を作成します。
以下の例は、カスタマイズされた OpenShift Container Platform のデフォルト Ingress CA 証明書を Red Hat Advanced Cluster Management に提供するのに使用されるデフォルトのテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。spec.customCAConfigmap
の値は ConfigMap
の名前に置き換えます。
1.6.9. sslCiphers (非推奨) リンクのコピーリンクがクリップボードにコピーされました!
デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターには、サポートされる SSL 暗号の詳細一覧が含まれます。
以下の例は、管理 Ingress の sslCiphers
をリスト表示するのに使用されるデフォルトの spec.ingress.sslCiphers
テンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
1.6.10. ClusterBackup リンクのコピーリンクがクリップボードにコピーされました!
enableClusterBackup
フィールドはサポートされなくなり、このコンポーネントに置き換えられました。
以下の例は、ClusterBackup
の有効化に使用される spec.overrides
のデフォルトテンプレートです。namespace
はお使いのプロジェクト名に置き換えます。
あるいは、以下のコマンドを実行します。namespace
はお使いのプロジェクト名に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"cluster-backup","enabled":true}}]'
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"cluster-backup","enabled":true}}]'