1.3.5. CLI からのインストール
OpenShift Container Platform Dedicated 環境のみに必要なアクセス: クラスターの管理者のデフォルトの dedicated-admin ロールには OpenShift Container Platform Dedicated 環境での名前空間の作成に必要なパーミッションがありません。cluster-admin パーミッションが必要です。
Operator 要件を満たしたハブクラスター namespace を作成します。以下のコマンドを実行して、
namespaceはお使いのハブクラスターの namespace 名になります。namespaceの値は、OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。oc create namespace <namespace>プロジェクトの namespace を、作成した namespace に切り替えます。
namespaceは、手順 1 で作成したハブクラスター namespace 名に置き換えます。oc project <namespace>OpenShift Container Platform または Red Hat Advanced Cluster Management で作成されていない Kubernetes クラスターをインポートする予定の場合には、OpenShift Container Platform プルシークレットの情報を含むシークレットを生成して、ディストリビューションレジストリーから資格のあるコンテンツにアクセスしますOpenShift Container Platform クラスターのシークレット要件は、OpenShift Container Platform および Red Hat Advanced Cluster Management により自動で解決されるので、他のタイプの Kubernetes クラスターをインポートして管理しない場合には、このシークレットを作成する必要はありません。重要: これらのシークレットは、namespace ごとに異なるので、手順 1 で作成した namespace で操作を行うようにしてください。
- cloud.redhat.com/openshift/install/pull-secret から Download pull secret を選択して、OpenShift Container Platform のプルシークレットファイルをダウンロードします。OpenShift Container Platform プルシークレットは Red Hat カスタマーポータル ID に関連しており、すべての Kubernetes プロバイダーで同じです。
以下のコマンドを実行してシークレットを作成します。
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjsonsecretは作成するシークレット名に置き換えます。シークレットは namespace 固有であるため、namespaceはプロジェクトの namespace に置き換えます。path-to-pull-secretはダウンロードした OpenShift Container Platform のプルシークレットへのパスに置き換えます。
Operator グループを作成します。namespace ごとに割り当てることのできる Operator グループ は 1 つだけです。
Operator グループを定義する YAML ファイルを作成します。ファイルは以下の例のようになります。
defaultはお使いの operator グループ名に置き換えます。namespaceはお使いのプロジェクトの namespace 名に置き換えます。apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <default> spec: targetNamespaces: - <namespace>作成したファイルを適用して Operator グループを定義します。
oc apply -f <path-to-file><operator-group>.yamloperator-groupは、作成した operator グループの YAML ファイル名に置き換えます。
サブスクリプションを適用します。
サブスクリプションを定義する YAML ファイルを作成します。ファイルは以下の例のようになります。
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: acm-operator-subscription spec: sourceNamespace: openshift-marketplace source: redhat-operators channel: release-2.3 installPlanApproval: Automatic name: advanced-cluster-managementinfra ノードにインストールする場合は、以下を追加します。
spec: config: nodeSelector: node-role.kubernetes.io/infra: "" tolerations: - key: node-role.kubernetes.io/infra effect: NoSchedule operator: Exists-
以下のコマンドを実行します。
subscriptionは、作成したサブスクリプションファイル名に置き換えます。
oc apply -f <path-to-file><subscription>.yamlMultiClusterHub のカスタムリソースを適用します。
カスタムリソースを定義する YAML ファイルを作成します。
-
デフォルトのテンプレートは、以下の例のようになります。
namespaceはお使いのプロジェクトの namespace 名に置き換えます。プルシークレットを作成していない場合には、これは表示されません。作成済みの場合には、secretは、プルシークレット名に置き換えます。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret>-
デフォルトのテンプレートは、以下の例のようになります。
-
オプション: インストーラーが管理する
acm-hive-openshift-releasesサブスクリプションが有効になっている場合は、disableUpdateClusterImageSetsの値をtrueに設定してサブスクリプションを無効にすることができます。 オプション: 必要に応じて、ハブの自己管理を無効にします。デフォルトでは、Red Hat Advanced Cluster Management ハブクラスターは、自動的にインポートされ、管理されます。この マネージド ハブクラスターの名前は
local-clusterです。Red Hat Advanced Cluster Management ハブクラスターが自己管理しない場合は、
disableHubSelfManagementの設定をfalseからtrueに変更する必要があります。この設定が、カスタムリソースを定義する YAML ファイルに含まれていない場合は、これを追加する必要があります。ハブクラスターは、このオプションでのみ管理できます。このオプションを
trueに設定し、ハブの管理を試みると、予期しない動作が発生します。プルシークレットを作成しており、
disableHubSelfManagement機能を有効にしている場合には、デフォルトのテンプレートは以下の例のようになります。namespaceはお使いのプロジェクトの namespace 名に置き換えます。secretは、プルシークレット名に置き換えます。apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret> disableHubSelfManagement: true以下のコマンドを使用して、カスタムリソースを適用します。
custom-resourceは、カスタムリソースファイル名に置き換えます。oc apply -f <path-to-path><custom-resource>.yaml以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。リソースが作成されてから数分後にもう一度コマンドを実行します。
error: unable to recognize "./mch.yaml": no matches for kind "MultiClusterHub" in version "operator.open-cluster-management.io/v1"以下のコマンドを実行してカスタムリソースを編集します。以下のコマンドを実行して、
MultiClusterHubカスタムリソースのステータスがstatus.phaseフィールドにRunningと表示されるまで、最長 10 分の時間がかかる可能性があります。oc get mch -o=jsonpath='{.items[0].status.phase}'ステータスが
Runningになってから、ルートの一覧を確認してルートを探し出します。oc get routes
Red Hat Advanced Cluster Management を再インストールして、Pod が起動しない場合には、この問題の回避手順について「再インストールに失敗する場合のトラブルシューティング」を参照してください。