3.4. OpenShift Container Platform CLI からのインストール
Operator 要件が含まれている Kubernetes エンジン namespace 用のマルチクラスターエンジンを作成します。次のコマンドを実行します。ここで、
namespace
は、Kubernetes エンジン namespace のマルチクラスターエンジンの名前です。namespace
の値は、OpenShift Container Platform 環境では プロジェクト と呼ばれる場合があります。oc create namespace <namespace>
プロジェクトの namespace を、作成した namespace に切り替えます。
namespace
は、手順 1 で作成した Kubernetes エンジン用のマルチクラスターエンジンの namespace の名前に置き換えてください。oc project <namespace>
OperatorGroup
リソースを設定するために YAML ファイルを作成します。namespace ごとに割り当てることができる Operator グループ は 1 つだけです。default
はお使いの operator グループ名に置き換えます。namespace
はお使いのプロジェクトの namespace 名に置き換えます。以下の例を参照してください。apiVersion: operators.coreos.com/v1 kind: OperatorGroup metadata: name: <default> spec: targetNamespaces: - <namespace>
以下のコマンドを実行して
OperatorGroup
リソースを作成します。operator-group
は、作成した operator グループの YAML ファイル名に置き換えます。oc apply -f <path-to-file>/<operator-group>.yaml
OpenShift Container Platform サブスクリプションを設定するための YAML ファイルを作成します。ファイルは以下の例のようになります。
apiVersion: operators.coreos.com/v1alpha1 kind: Subscription metadata: name: multicluster-engine spec: sourceNamespace: openshift-marketplace source: redhat-operators channel: stable-1.0 installPlanApproval: Automatic name: multicluster-engine
注記: インフラストラクチャーノードに Kubernetes エンジン用のマルチクラスターエンジンをインストールする場合は、Operator Lifecycle Manager サブスクリプションの追加設定 セクションを参照してください。
以下のコマンドを実行して OpenShift Container Platform サブスクリプションを作成します。
subscription
は、作成したサブスクリプションファイル名に置き換えます。oc apply -f <path-to-file>/<subscription>.yaml
YAML ファイルを作成して、
MultiClusterEngine
カスタムリソースを設定します。デフォルトのテンプレートは、以下の例のようになります。apiVersion: multicluster.openshift.io/v1 kind: MultiClusterEngine metadata: name: multiclusterengine spec: {}
注記: インフラストラクチャーノードに Kubernetes エンジン用のマルチクラスターエンジンをインストールする方法については、MultiClusterEngine カスタムリソースの追加設定 セクションを参照してください。
次のコマンドを実行して、
MultiClusterEngine
カスタムリソースを作成します。custom-resource
は、カスタムリソースファイル名に置き換えます。oc apply -f <path-to-file>/<custom-resource>.yaml
以下のエラーで、この手順に失敗した場合でも、リソースは作成され、適用されます。リソースが作成されてから数分後にもう一度コマンドを実行します。
error: unable to recognize "./mce.yaml": no matches for kind "MultiClusterEngine" in version "operator.multicluster-engine.io/v1"
以下のコマンドを実行してカスタムリソースを編集します。次のコマンドを実行した後、
MultiClusterEngine
カスタムリソースステータスがstatus.phase
フィールドにAvailable
として表示されるまでに最大 10 分かかる場合があります。oc get mce -o=jsonpath='{.items[0].status.phase}'
Kubernetes operator 用のマルチクラスターエンジンを再インストールしても Pod が起動しない場合は、この問題を回避する手順について、再インストールに失敗する場合のトラブルシューティング を参照してください。
注記:
-
ClusterRoleBinding
を使用するServiceAccount
は、クラスター管理者特権を Kubernetes のマルチクラスターエンジンと、Kubernetes のマルチクラスターエンジンをインストールする namespace にアクセスできるすべてのユーザー認証情報に自動的に付与します。