1.4.3. CLI からのインストール
Operator 要件を満たしたハブクラスター namespace を作成します。
oc create namespace <namespace>
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-cluster
namespace へのアクセス権を割り当てないようにしてください。プロジェクトの namespace を、作成した namespace に切り替えます。
oc project <namespace>
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
secret は作成するシークレット名に置き換えます。namespace はプロジェクトの namespace に置き換えます。path-to-pull-secret はダウンロードする OpenShift Container Platform のプルシークレットへのパスに置き換えます。
Operator グループを作成します。namespace ごとに割り当てることのできる Operator グループ は 1 つだけです。
Operator グループを定義する
.yaml
ファイルを作成します。ファイルは以下の例のようになります。apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <default> spec: targetNamespaces: - <namespace>
default はお使いの operator グループ名に置き換えます。namespace はお使いのプロジェクトの namespace に置き換えます。
作成したファイルを適用して Operator グループを定義します。
oc apply -f local/<operator-group>.yaml
operator-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.1 installPlanApproval: Automatic name: advanced-cluster-management
サブスクリプションを適用します。
oc apply -f local/<subscription>.yaml
subscription は、作成したサブスクリプションファイルの名前に置き換えます。
MultiClusterHub のカスタムリソースを適用します。
カスタムリソースを定義する
.yaml
ファイルを作成します。プルシークレットを作成していない場合のデフォルトのテンプレートは、以下の例のようになります。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace>
namespace はお使いのプロジェクトの namespace 名に置き換えます。
プルシークレットを作成している場合のデフォルトのテンプレートは、以下の例のようになります。
apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret>
namespace はお使いのプロジェクトの namespace 名に置き換えます。
secret は、プルシークレット名に置き換えます。
オプション: 必要に応じて、ハブの自己管理を無効にします。デフォルトでは、ハブクラスターは他のクラスターと同様に自動的にインポートされ、管理されます。ハブクラスターでの自己管理をしない場合は、
disableHubSelfManagement
の設定をfalse
からtrue
に変更します。プルシークレットを作成しており、disableHubSelfManagement
機能を有効にしている場合には、デフォルトのテンプレートは以下の例のようになります。apiVersion: operator.open-cluster-management.io/v1 kind: MultiClusterHub metadata: name: multiclusterhub namespace: <namespace> spec: imagePullSecret: <secret> disableHubSelfManagement: true
namespace はお使いのプロジェクトの namespace 名に置き換えます。
secret は、プルシークレット名に置き換えます。
カスタムリソースを適用します。
oc apply -f local/<custom-resource>.yaml
custom-resource は、カスタムリソースファイル名に置き換えます。
重要:
local-cluster
namespace は、インポートされた自己管理のハブクラスターに使用します。インストール前に、クラスターに local-cluster namespace を含めることはできません。ハブクラスターにlocal-cluster
namespace が作成されると、local-cluster
namespace へのアクセス権があるユーザーには自動的に cluster administrator のアクセス権が付与されます。セキュリティーの理由上、クラスター管理者のアクセス権がないユーザーには、local-cluster
namespace へのアクセス権を割り当てないようにしてください。以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。
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 が起動しない場合には、この問題の回避手順について「再インストールに失敗する場合のトラブルシューティング」を参照してください。