1.5. MultiClusterHub 詳細設定
Red Hat Advanced Cluster Management for Kubernetes は、必要なコンポーネントをすべてデプロイする Operator でインストールします。Red Hat Advanced Cluster Management は、以下の 1 つ以上の属性を MultiClusterHub カスタムリソースに追加することで、インストール時にまたはインストール後にさらに設定できます。
1.5.1. コンソール設定
次の例は、console コンポーネントを有効または無効にするために使用できる spec.overrides デフォルトテンプレートを示しています。namespace はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterHub
metadata:
name: multiclusterhub
namespace: <namespace>
spec:
overrides:
components:
- name: console
enabled: true
あるいは、以下のコマンドを実行します。namespace をプロジェクトの名前と値に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"console","enabled":true}}]'注記: Red Hat OpenShift Container Platform コンソールが無効になっている場合、コンソールは強制的にオフのままになります。
1.5.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.5.3. availabilityConfig
Red Hat Advanced Cluster Management ハブクラスターには、High と Basic の 2 つのアイラビリティーがあります。デフォルトでは、ハブクラスターには High の可用性があります。これにより、ハブクラスターコンポーネントに replicaCount 2 が提供されます。これにより、フェイルオーバー時のサポートが向上しますが、Basic 可用性よりも多くのリソースを消費します。これにより、コンポーネントには replicaCount 1 が提供されます。
以下の例は、Basic の可用性のある spec.availabilityConfig テンプレートを示しています。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: availabilityConfig: "Basic"
1.5.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.5.5. tolerations
容認の一覧を定義して、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 容認は、設定に容認を指定せずにデフォルトで Pod に設定されます。設定で容認をカスタマイズすると、このデフォルトが置き換えられます。
1.5.6. disableHubSelfManagement
デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターは、自動的にインポートされ、管理されます。この マネージド ハブクラスターの名前は local-cluster です。ハブクラスターが自身を管理するかどうかを指定する設定は、multiclusterengine カスタムリソースにあります。Red Hat Advanced Cluster Management で、この設定を変更すると、multiclusterengine カスタムリソースの設定が自動的に変更されます。
注記: マルチクラスターエンジンオペレータークラスターを管理している 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.5.7. disableUpdateClusterImageSets
すべてのクラスターに同じリリースイメージを使用するようにする必要がある場合は、クラスターの作成時に利用可能なリリースイメージのカスタム一覧を作成できます。
利用可能なリリースイメージを管理し、カスタムイメージリストの上書きを停止する spec.disableUpdateClusterImageSets 属性を設定するには、接続時におけるリリースイメージのカスタム一覧の管理 の次の手順を参照してください。
以下の例は、クラスターイメージセットへの更新を無効にするデフォルトのテンプレートです。namespace はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: disableUpdateClusterImageSets: true
1.5.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.5.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.5.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}}]'1.5.11. ManagedServiceAccount アドオン (テクノロジープレビュー)
以下の例は、ManagedServiceAccount を有効にするために使用される spec.overrides のデフォルトテンプレートです。namespace はお使いのプロジェクト名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1
kind: MultiClusterHub
metadata:
name: multiclusterhub
namespace: <namespace>
spec:
overrides:
components:
- name: managedserviceaccount-preview
enabled: true
あるいは、以下のコマンドを実行します。namespace はお使いのプロジェクト名に置き換えます。
oc patch MultiClusterHub multiclusterhub -n <namespace> --type=json -p='[{"op": "add", "path": "/spec/overrides/components/-","value":{"name":"managedserviceaccount-preview","enabled":true}}]'