1.4.3. CLI からのインストール
Operator 要件を満たしたハブクラスター namespace を作成します。
oc create namespace <namespace>
oc create namespace <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace はお使いのハブクラスター namespace 名に置き換えます。注記:: namespace の値は、Red Hat OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。
重要:
ClusterRoleBindingが指定されたServiceAccountには、Red Hat Advanced Cluster Management がインストールされている namespace にアクセス権があるユーザー認証情報および、Red Hat Advanced Cluster Management に対して、クラスター管理者権限が割り当てられます。このインストールでは、local-clusterという名前の namespace も作成されます。この namespace は、単独で管理できるようにハブクラスター向けに確保されます。local-clusterという既存の namespace を含めることはできません。セキュリティーの理由上、クラスター管理者のアクセス権がないユーザーには、local-clusternamespace へのアクセス権を割り当てないようにしてください。プロジェクトの namespace を、作成した namespace に切り替えます。
oc project <namespace>
oc project <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace は、手順 1 で作成したハブクラスター 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/dockerconfigjson
oc create secret generic <secret> -n <namespace> --from-file=.dockerconfigjson=<path-to-pull-secret> --type=kubernetes.io/dockerconfigjsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow secret は作成するシークレット名に置き換えます。namespace はプロジェクトの namespace に置き換えます。path-to-pull-secret はダウンロードする OpenShift Container Platform のプルシークレットへのパスに置き換えます。
Operator グループを作成します。namespace ごとに割り当てることのできる Operator グループ は 1 つだけです。
Operator グループを定義する
.yamlファイルを作成します。ファイルは以下の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow default はお使いの operator グループ名に置き換えます。namespace はお使いのプロジェクトの namespace に置き換えます。
作成したファイルを適用して Operator グループを定義します。
oc apply -f local/<operator-group>.yaml
oc apply -f local/<operator-group>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow operator-group は、作成した operator グループの
.yamlファイル名に置き換えます。
サブスクリプションを適用します。
サブスクリプションを定義する
.yamlファイルを作成します。ファイルは以下の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow サブスクリプションを適用します。
oc apply -f local/<subscription>.yaml
oc apply -f local/<subscription>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow subscription は、作成したサブスクリプションファイルの名前に置き換えます。
MultiClusterHub のカスタムリソースを適用します。
カスタムリソースを定義する
.yamlファイルを作成します。プルシークレットを作成していない場合のデフォルトのテンプレートは、以下の例のようになります。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace>
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace はお使いのプロジェクトの namespace 名に置き換えます。
プルシークレットを作成している場合のデフォルトのテンプレートは、以下の例のようになります。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace はお使いのプロジェクトの namespace 名に置き換えます。
secret は、プルシークレット名に置き換えます。
オプション: 必要に応じて、ハブの自己管理を無効にします。デフォルトでは、ハブクラスターは他のクラスターと同様に自動的にインポートされ、管理されます。ハブクラスターでの自己管理をしない場合は、
disableHubSelfManagementの設定をfalseからtrueに変更します。プルシークレットを作成しており、disableHubSelfManagement機能を有効にしている場合には、デフォルトのテンプレートは以下の例のようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow namespace はお使いのプロジェクトの namespace 名に置き換えます。
secret は、プルシークレット名に置き換えます。
カスタムリソースを適用します。
oc apply -f local/<custom-resource>.yaml
oc apply -f local/<custom-resource>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow custom-resource は、カスタムリソースファイル名に置き換えます。
重要:
local-clusternamespace は、インポートされた自己管理のハブクラスターに使用します。インストール前に、クラスターに local-cluster namespace を含めることはできません。ハブクラスターにlocal-clusternamespace が作成されると、local-clusternamespace へのアクセス権があるユーザーには自動的に cluster administrator のアクセス権が付与されます。セキュリティーの理由上、クラスター管理者のアクセス権がないユーザーには、local-clusternamespace へのアクセス権を割り当てないようにしてください。以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。
error: unable to recognize "./mch.yaml": no matches for kind "MultiClusterHub" in version "operator.open-cluster-management.io/v1"
error: unable to recognize "./mch.yaml": no matches for kind "MultiClusterHub" in version "operator.open-cluster-management.io/v1"Copy to Clipboard Copied! Toggle word wrap Toggle overflow リソースが作成されてから数分後にもう一度コマンドを実行します。
以下のコマンドを実行して、
MultiClusterHubカスタムリソースのステータスが status.phase フィールドにRunningと表示されるまで、最長 10 分の時間がかかる可能性があります。oc get mch -o=jsonpath='{.items[0].status.phase}'oc get mch -o=jsonpath='{.items[0].status.phase}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow ステータスが
Runningになってから、ルートの一覧を確認してルートを探し出します。oc get routes
oc get routesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
Red Hat Advanced Cluster Management を再インストールして、Pod が起動しない場合には、この問題の回避手順について「再インストールに失敗する場合のトラブルシューティング」を参照してください。