1.11. クラスター API
Cluster API は、Kubernetes クラスターのプロビジョニング、アップグレード、管理を簡素化する宣言型 API を提供します。multicluster engine Operator は、コアとなる Cluster API コンポーネントに加え、複数のインフラストラクチャープロバイダーとブートストラッププロバイダーをインストールすることで、さまざまなユースケースとプラットフォームをサポートします。スタンドアロンの multicluster engine Operator または Red Hat Advanced Cluster Management で Cluster API を使用する方法を説明します。次のプロセスを参照してください。
- Cluster API を使用したマネージドクラスターのインストール
- Cluster API クラスターの自動インポートの有効化(テクノロジープレビュー)
- Cluster API マネージドクラスターでの AWS 認証情報から IAM ロールへの切り替え(テクノロジープレビュー)
- クラスター API を使用したホステッドコントロールプレーンクラスターを使用した Red Hat OpenShift Service on AWS の作成(テクノロジープレビュー)
- クラスター API を使用したホステッドコントロールプレーンクラスターを使用した Red Hat OpenShift Service on AWS の削除(テクノロジープレビュー)
1.11.1. Cluster API を使用したマネージドクラスターのインストール リンクのコピーリンクがクリップボードにコピーされました!
metal3 インフラストラクチャープロバイダーと OpenShift Container Platform 支援ブートストラップおよびコントロールプレーンプロバイダーを使用して、Cluster API を備えた OpenShift Container Platform マネージドクラスターをインストールできます。
-
ControlPlaneリソースはコントロールプレーンのプロパティーを定義します。 -
ClusterInfrastructureは、クラスターレベルのインフラストラクチャーの詳細を定義します。
前提条件
-
Red Hat Advanced Cluster Management インストールまたは multicluster engine Operator スタンドアロンインストールのいずれかからの
MultiClusterEngineリソースが必要です。 -
api.<cluster_name>.<base_domain>の API ベースドメインは、静的 API 仮想 IP を指している必要があります。 -
*.apps.<cluster_name>.<base_domain>のアプリケーションベースドメインは、Ingress 仮想 IP の静的 IP アドレスを指している必要があります。 -
クラスターの内部 API エンドポイント
api-int.<baseDomain>が必要です。
1.11.1.1. Cluster API を使用したワークロードのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
ワークロードをプロビジョニングするために必要なサービスを有効にします。デフォルトでは、
assisted-serviceが有効になっています。デフォルトでは、cluster-api-provider-metal3およびcluster-api-provider-openshift-assistedは無効になっています。3 つのサービスがすべてenabled: trueであることを確認します。以下のコマンドを実行してリソースを編集します。oc edit multiclusterengines.multicluster.openshift.io -n multicluster-engine
oc edit multiclusterengines.multicluster.openshift.io -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow .spec.overridesでassisted-serviceコンポーネント、cluster-api-provider-metal3コンポーネント、およびcluster-api-provider-openshift-assistedコンポーネントについてenabled: trueを設定します。次のconfigOverrides値を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - Central Infrastructure Management サービスの有効化手順は central infrastructure management サービスの有効化 を参照してください。
clusterNetwork仕様、controlPlaneRef仕様、およびinfrastructureRef仕様を使用してClusterリソースを設定します。次のClusterリソースを参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して YAML コンテンツを適用します。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow distributionVersion、apiVIPs、および SSH キーを含むOpenshiftAssistedControlPlaneリソースを設定します。distributionVersionフィールドに OpenShift Container Platform のバージョンを指定します。注記:
distributionVersionの値は OpenShift Container Platform Releases のイメージと一致します。次の YAML リソースを参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML ファイルを適用します。以下のコマンドを実行します。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow - プルシークレットがない場合は、クラスターがコンテナーレジストリーからイメージをプルできるように、プルシークレットを作成する必要があります。プルシークレットを作成するには、次の手順を実行します。
イメージをプルするための YAML ファイルを作成します。
pull-secret.yamlという名前のファイルの次の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、ファイルを適用します。
oc apply -f pull-secret.yaml
oc apply -f pull-secret.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ベアメタル上のクラスターのデプロイメントに関連する情報が含まれる
Metal3Clusterインフラストラクチャーリソースを設定します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
hostは、ClusterリソースのclusterNameを持つ<clusterName>.<baseDomain>*値であり、baseDomainはOpenshiftAssistedControlPlaneリソースで定義されます。
ファイルを適用します。以下のコマンドを実行します。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenshiftAssistedControlPlaneリソースから参照されるコントロールプレーンノードのMetal3MachineTemplateリソースを設定します。以下の YAML 例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イメージは、
distributionVersion値と OpenShift Container Platform Releases のバージョンと一致します。 - 2
clusterNameはClusterリソースと同じ値に設定します。
ファイルを適用します。以下のコマンドを実行します。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Metal3MachineTemplateを参照するMachineDeploymentリソースを使用してワーカーノードを設定します。以下は、YAML の例です。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ファイルを適用します。以下のコマンドを実行します。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow MachineDeploymentで参照されるOpenshiftAssistedConfigTemplateリソースを作成します。次の YAML はワーカーノードのブートストラップ設定を定義し、Assisted Installer を使用してノードを登録するために使用されます。Copy to Clipboard Copied! Toggle word wrap Toggle overflow MachineDeploymentリソースで参照されるMetal3MachineTemplateを作成します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、YAML ファイルを保存し、クラスターをプロビジョニングします。
oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターのプロビジョニングステータスを確認します。
oc get cluster --namespace <cluster-namespace> <cluster-name> -o yamlを実行して、Clusterリソースのステータスを確認します。次の出力とステータスを参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get metal3cluster --namespace <cluster-namespace> <cluster-name> -o yamlコマンドを実行して、クラスターインフラストラクチャーのステータスを確認します。次の出力とステータスを参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow コントロールプレーンのステータスを確認するには、
oc get openshiftassistedcontrolplane --namespace <cluster-namespace> <cluster-name> -o yamlコマンドを実行します。次の出力とステータスを参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc get machinedeployment --namespace <cluster-namespace> <cluster-name> -o yamlコマンドを実行して、マシンのデプロイメントのステータスを確認します。次の出力とステータスを参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kubectl get machine -l cluster.x-k8s.io/cluster-name=cluster-name -n test-capi -o yamlコマンドを実行して、マシンを確認します。次の出力とステータスを参照してください。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow クラスターにアクセスします。
kubeconfigファイルを取得するには、次のコマンドを実行します。oc get secret -n test-capi cluster-name-admin-kubeconfig -o json | jq -r .data.kubeconfig | base64 --decode > kubeconfig
oc get secret -n test-capi cluster-name-admin-kubeconfig -o json | jq -r .data.kubeconfig | base64 --decode > kubeconfigCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
kubeconfigファイルを使用してクラスターにアクセスするには、次のコマンドを実行します。
export KUBECONFIG=$(realpath kubeconfig) oc get nodes
export KUBECONFIG=$(realpath kubeconfig) oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.2. Cluster API クラスターの自動インポートの有効化(テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用して、プロビジョニングするクラスターを自動的にインポートすることで、時間を節約できます。
必要なアクセス権: クラスター管理者
前提条件
-
Red Hat Advanced Cluster Management インストールまたは multicluster engine Operator スタンドアロンインストールのいずれかからの
MultiClusterEngineリソースが必要です。
1.11.2.1. ハブクラスターの準備 リンクのコピーリンクがクリップボードにコピーされました!
プロビジョニングされたクラスターを Cluster API で自動的にインポートする前に、以下の手順を実行する必要があります。
以下の YAML ファイルの例を追加して、
ClusterManagerリソースでClusterImporterフィーチャーゲートを有効にします。Copy to Clipboard Copied! Toggle word wrap Toggle overflow clusterImportConfigをtrueに設定して、クラスターインポート設定シークレットを作成するようにインポートコントローラーを設定します。ConfigMapリソースは、次の YAML ファイルサンプルのようになります。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ConfigMapリソースがまだない場合は、以下のコマンドを実行して変更を適用します。<filename> は、お使いのファイル名に置き換えます。oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ConfigMapリソースがすでにある場合は、以下のコマンドを実行して変更を適用します。
oc patch configmap import-controller-config -n multicluster-engine --type merge -p '{"data":{"clusterImportConfig":"true"}}'oc patch configmap import-controller-config -n multicluster-engine --type merge -p '{"data":{"clusterImportConfig":"true"}}'Copy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster API Manager のパーミッションをインポートコントローラーサービスアカウントにバインドします。以下の YAML ファイルサンプルを追加します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変更を適用します。<
filename> は、お使いのファイル名に置き換えます。oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.2.2. ManagedCluster リソースの作成 リンクのコピーリンクがクリップボードにコピーされました!
自動インポートを有効にするには、Cluster API クラスターと同じ名前と namespace で ManagedCluster リソースを作成します。以下の手順を実行します。
以下の YAML サンプルを追加して
ManagedClusterリソースを作成します。Cluster API クラスターの名前をnameパラメーターに追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、変更を適用します。<
filename> は、お使いのファイル名に置き換えます。oc apply -f <filename>.yaml
oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.3. マネージドクラスターの AWS 認証情報から IAM ロールへの切り替え(テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
Cluster API を使用してマネージドクラスターをデプロイするときに、Identity and Access Management (IAM)ロールの使用に切り替えることができます。Amazon Web Services (AWS)認証情報を使用してマネージドクラスターを作成した場合、AWS 認証情報から IAM ロールに切り替えて、cluster-api-provider-aws を使用して、AWS 認証情報をマネージドクラスターに保存せずに、ホストされたコントロールプレーンクラスターを使用して Red Hat OpenShift Service on AWS を作成できます。
必要なアクセス権: クラスター管理者
前提条件
- AWS 認証情報で作成したホストされたコントロールプレーンブートストラップクラスターを備えた Red Hat OpenShift Container Platform または Red Hat OpenShift Service on AWS が必要です。一時的な認証情報を使用できます。詳細は、AWS ドキュメントの 一時的なセキュリティー認証情報を要求 を参照してください。
- ブートストラップクラスターに Red Hat Advanced Cluster Management for Kubernetes がインストールされている。
- Cluster API および Cluster API Provider AWS を有効にする前に、HyperShift コンポーネントを無効にする必要があります。
手順
以下の手順を実行します。
MultiClusterEngineリソースを編集します。以下のコマンドを実行します。oc edit multiclusterengine engine
oc edit multiclusterengine engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow hypershiftおよびhypershift-local-hostingコンポーネントを無効にし、cluster-api およびコンポーネントを有効にします。以下の例を参照してください。cluster-api-provider-awsCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster API および Cluster API Provider AWS デプロイメントが実行されていることを確認します。以下のコマンドを実行します。
oc get deploy -n multicluster-engine
oc get deploy -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力は次の例のような内容になります。
NAME READY UP-TO-DATE AVAILABLE AGE capa-controller-manager 1/1 1 1 12d capi-controller-manager 1/1 1 1 12d
NAME READY UP-TO-DATE AVAILABLE AGE capa-controller-manager 1/1 1 1 12d capi-controller-manager 1/1 1 1 12dCopy to Clipboard Copied! Toggle word wrap Toggle overflow MultiClusterEngineカスタムリソースを一時停止して、クラスター API プロバイダー AWS コントローラーのサービスアカウントを更新できるようにします。以下のコマンドを実行します。oc annotate mce multiclusterengine installer.multicluster.openshift.io/pause=true
oc annotate mce multiclusterengine installer.multicluster.openshift.io/pause=trueCopy to Clipboard Copied! Toggle word wrap Toggle overflow OpenID Connect (OIDC)プロバイダーの詳細を取得します。以下のコマンドを実行します。
export OIDC_PROVIDER=$(oc get authentication.config.openshift.io cluster -ojson | jq -r .spec.serviceAccountIssuer | sed 's/https:\/\///')
export OIDC_PROVIDER=$(oc get authentication.config.openshift.io cluster -ojson | jq -r .spec.serviceAccountIssuer | sed 's/https:\/\///')Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS アカウント ID を設定します。以下のコマンドを実行します。アカウント ID の値を変更します。
export AWS_ACCOUNT_ID={YOUR_AWS_ACCOUNT_ID}export AWS_ACCOUNT_ID={YOUR_AWS_ACCOUNT_ID}Copy to Clipboard Copied! Toggle word wrap Toggle overflow capa-controller-managerIAM ロールの信頼ポリシーファイルを作成します。以下のコマンドを実行します。cat ./trust.json
cat ./trust.jsonCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコンテンツをファイルに追加して、関連付けられた IAM ロールを引き受けることを許可するユーザーを定義します。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow IAM ロールを作成し、必要な AWS ポリシーを割り当てます。以下のコマンドを実行します。
aws iam create-role --role-name "capa-manager-role" --assume-role-policy-document file://trust.json --description "IAM role for CAPA to assume" aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccess
aws iam create-role --role-name "capa-manager-role" --assume-role-policy-document file://trust.json --description "IAM role for CAPA to assume" aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AWSCloudFormationFullAccess aws iam attach-role-policy --role-name capa-manager-role --policy-arn arn:aws:iam::aws:policy/AmazonVPCFullAccessCopy to Clipboard Copied! Toggle word wrap Toggle overflow IAM ロールの Amazon Resource Name (ARN)を取得します。以下のコマンドを実行します。
export APP_IAM_ROLE_ARN=$(aws iam get-role --role-name=capa-manager-role --query Role.Arn --output text) export IRSA_ROLE_ARN=eks.amazonaws.com/role-arn=$APP_IAM_ROLE_ARN
export APP_IAM_ROLE_ARN=$(aws iam get-role --role-name=capa-manager-role --query Role.Arn --output text) export IRSA_ROLE_ARN=eks.amazonaws.com/role-arn=$APP_IAM_ROLE_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow サービスアカウントに IAM ロール ARN アノテーションを付けます。以下のコマンドを実行します。
oc annotate serviceaccount -n multicluster-engine capa-controller-manager $IRSA_ROLE_ARN
oc annotate serviceaccount -n multicluster-engine capa-controller-manager $IRSA_ROLE_ARNCopy to Clipboard Copied! Toggle word wrap Toggle overflow Cluster API Provider AWS デプロイメントを再起動します。以下のコマンドを実行します。
oc rollout restart deployment capa-controller-manager -n multicluster-engine
oc rollout restart deployment capa-controller-manager -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4. クラスター API を使用したホステッドコントロールプレーンクラスターを使用した Red Hat OpenShift Service on AWS の作成(テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
ホストされたコントロールプレーンクラスターを備えた Red Hat OpenShift Service on AWS は、クラスターコントロールプレーンが Red Hat Amazon Web Services (AWS)アカウントでホストおよび管理される Red Hat OpenShift Service on AWS のデプロイメントモデルです。Cluster API を使用して、ホストされたコントロールプレーンクラスターを備えた Red Hat OpenShift Service on AWS を作成するには、次のトピックの手順を実行します。
必要なアクセス権: クラスター管理者
前提条件
- AWS アクセスキーが必要です。詳細は、AWS ドキュメント の IAM ユーザーのアクセスキーの管理 を参照してください。
- AWS Red Hat OpenShift Service on AWS 管理対象ポリシーは AWS ユーザーパーミッションに割り当てられます。詳細は、AWS ドキュメントの AWS 管理ポリシー を参照してください。
-
OpenShift CLI (
oc)が必要です。詳細は、OpenShift Container Platform ドキュメントの OpenShift CLI (oc) を参照してください。 -
ROSA CLI (
rosa)が必要です。詳細は、Red Hat OpenShift Service on AWS ドキュメントの ROSA CLI を参照してください。
1.11.4.1. サービスアカウントの作成 リンクのコピーリンクがクリップボードにコピーされました!
ホストされたコントロールプレーンクラスターを使用して Red Hat OpenShift Service on AWS を作成する前に、サービスアカウントが必要です。サービスアカウントがある場合は、このセクションを実行する必要はありません。
手順
以下の手順を実行します。
- コンソールで Identity & Access Management > Service Accounts に移動して、サービスアカウントを作成します。
- Create service account ボタンをクリックします。
作成する新しいすべてのサービスアカウントについて、ROSA CLI を使用してアカウントをアクティベートします。
新しいサービスアカウントにログインします。以下のコマンドを実行します。必要に応じて値を置き換えます。
rosa login --client-id <your-client-id> --client-secret <your-client-secret>
rosa login --client-id <your-client-id> --client-secret <your-client-secret>Copy to Clipboard Copied! Toggle word wrap Toggle overflow - サービスアカウントをアクティベートします。以下のコマンドを実行します。
rosa whoami
rosa whoamiCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.2. AWS 認証情報の設定 リンクのコピーリンクがクリップボードにコピーされました!
ホストされたコントロールプレーンクラスターを使用して Red Hat OpenShift Service on AWS を作成する前に、AWS 認証情報を設定する必要があります。以下の手順を実行します。
AWS でマルチファクター認証を使用していない場合は、作成した AWS アクセスキーを使用して AWS 認証情報を設定します。以下のコマンドを実行します。必要に応じて値を置き換えます。
echo '[default] aws_access_key_id = <your-access-key> aws_secret_access_key = <your-secret-access-key> region = us-east-1 ' | base64 -w 0
echo '[default] aws_access_key_id = <your-access-key> aws_secret_access_key = <your-secret-access-key> region = us-east-1 ' | base64 -w 0Copy to Clipboard Copied! Toggle word wrap Toggle overflow AWS でマルチファクター認証を使用している場合は、以下のコマンドを実行します。必要に応じて値を置き換えます。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow capa-manager-bootstrap-credentialsシークレットを更新します。前のコマンドの出力をコピーし、その出力を
capa-manager-bootstrap-credentialsシークレットに追加します。以下のコマンドを実行してシークレットを編集します。oc edit secret -n multicluster-engine capa-manager-bootstrap-credentials
oc edit secret -n multicluster-engine capa-manager-bootstrap-credentialsCopy to Clipboard Copied! Toggle word wrap Toggle overflow 出力を
credentialsフィールドに追加します。以下の例を参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: サービスアカウントで AWS IAM ロールを使用して
capa-controller-managerを認証する場合は、Additional resources セクションを参照し、Cluster API マネージドクラスター(テクノロジープレビュー)の AWS 認証情報から IAM ロールへの切り替え の手順を 完了します。
capa-controller-managerデプロイメントを再起動します。以下のコマンドを実行します。oc rollout restart deployment capa-controller-manager -n multicluster-engine
oc rollout restart deployment capa-controller-manager -n multicluster-engineCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.3. OpenShift Cluster Manager の認証 リンクのコピーリンクがクリップボードにコピーされました!
AWS コントローラー用の Cluster API プロバイダー では、Red Hat OpenShift Service on AWS をホストされたコントロールプレーンでプロビジョニングするために OpenShift Cluster Manager の認証情報が必要です。以下の手順を実行します。
作成したサービスアカウント認証情報を使用して、ターゲット namespace に Kubernetes シークレットを作成します。
ROSAControlPlaneリソースは、プロビジョニング中にこのシークレットを参照します。以下のコマンドを実行します。必要に応じて値を置き換えます。oc create namespace <your-rosa-hcp-namespace> oc -n <your-rosa-hcp-namespace> create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'oc create namespace <your-rosa-hcp-namespace> oc -n <your-rosa-hcp-namespace> create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'Copy to Clipboard Copied! Toggle word wrap Toggle overflow オプション: シークレット
rosa-creds-secretを呼び出してmulticluster-enginenamespace に作成することで、ROSAControlPlaneリソースからシークレットを参照せずに使用できます。以下のコマンドを実行します。oc -n multicluster-engine create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'
oc -n multicluster-engine create secret generic rosa-creds-secret \ --from-literal=ocmClientID='....' \ --from-literal=ocmClientSecret='eyJhbGciOiJIUzI1NiIsI....' \ --from-literal=ocmApiUrl='https://api.openshift.com'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.11.4.4. ホストされたコントロールプレーンクラスターを使用した Red Hat OpenShift Service on AWS の作成 リンクのコピーリンクがクリップボードにコピーされました!
サービスアカウントを作成して AWS 認証情報を設定し、OpenShift Cluster Manager 認証情報を認証した後に、次の手順を実行して、ホストされたコントロールプレーンクラスターを使用して Red Hat OpenShift Service on AWS を作成します。
AWSClusterControllerIdentityリソースを作成します。以下の YAML ファイルサンプルを参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSARoleConfigリソースを作成します。以下の YAML ファイルサンプルを参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSANetworkリソースを作成します。以下の YAML ファイルサンプルを参照してください。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSARoleConfigリソースが作成されたことを確認します。ROSARoleConfigステータスにaccountRolesRef、oidcID、oidcProviderARN、およびoperatorRolesRefが含まれていることを確認します。以下のコマンドを実行します。oc get rosaroleconfig -n ns-rosa-hcp role-config -o yaml
oc get rosaroleconfig -n ns-rosa-hcp role-config -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROSANetworkリソースが作成されたことを確認します。ROSANetworkのステータスには、作成されたサブネットが含まれます。以下のコマンドを実行します。oc get rosanetwork -n ns-rosa-hcp rosa-vpc -o yaml
oc get rosanetwork -n ns-rosa-hcp rosa-vpc -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ROSAControlPlaneリソースに必要なカスタムリソースを作成します。次の YAML ファイルコンテンツを使用して
ManagedClusterリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML ファイルコンテンツを使用して
Clusterリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
次の YAML ファイルコンテンツを使用して
ROSAClusterリソースを作成します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 次の YAML ファイルコンテンツを使用して
ROSAControlPlaneリソースを作成します。リージョンがROSANetworkリソースの作成に使用した AWS リージョンと一致することを確認します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow ROSAControlPlaneステータスを確認します。以下のコマンドを実行します。READY列がtrueであることを確認します。oc get ROSAControlPlane rosa-cp-1 -n ns-rosa-hcp
oc get ROSAControlPlane rosa-cp-1 -n ns-rosa-hcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: ホストされたコントロールプレーンクラスターを備えた Red Hat OpenShift Service on AWS の完全なプロビジョニングに最大 40 分かかる場合があります。
ROSAControlPlaneリソースのプロビジョニングが完了したら、ROSAMachinePoolが作成されていることを確認します。以下のコマンドを実行します。oc get ROSAMachinePool -n ns-rosa-hcp
oc get ROSAMachinePool -n ns-rosa-hcpCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次の出力が表示される場合があります。
NAMESPACE NAME READY REPLICAS ns-rosa-hcp workers-0 true 1 ns-rosa-hcp workers-1 true 1 ns-rosa-hcp workers-2 true 1
NAMESPACE NAME READY REPLICAS ns-rosa-hcp workers-0 true 1 ns-rosa-hcp workers-1 true 1 ns-rosa-hcp workers-2 true 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注記: デフォルトの使用可能な
ROSAMachinePools数は、割り当てられたアベイラビリティーゾーンに基づいています。
1.11.4.5. 関連情報 リンクのコピーリンクがクリップボードにコピーされました!
-
サービスアカウントで AWS IAM ロールを使用して
capa-controller-managerを認証する場合は、Cluster API マネージドクラスター(テクノロジープレビュー)上の AWS 認証情報から IAM ロールへの切り替え の手順を 行います。
1.11.5. クラスター API を使用したホステッドコントロールプレーンクラスターを使用した Red Hat OpenShift Service on AWS の削除(テクノロジープレビュー) リンクのコピーリンクがクリップボードにコピーされました!
ROSAControlPlane を削除すると、ホストされたコントロールプレーンクラスターを使用して Red Hat OpenShift Service on AWS のプロビジョニングが解除されます。このプロセスの完了には 30 ~ 50 分かかります。関連する ROSAMachinePool リソースは自動的に削除されます。
必要なアクセス権: クラスター管理者
前提条件
- Cluster API を備えたホストされたコントロールプレーンクラスターを備えた Red Hat OpenShift Service on AWS がある。
手順
ROSAControlPlaneカスタムリソースと一致するクラスターカスタムリソースを削除します。以下のコマンドを実行します。必要に応じて値を置き換えます。oc delete -n ns-rosa-hcp cluster/rosa-hcp-1 rosacontrolplane/rosa-cp-1
oc delete -n ns-rosa-hcp cluster/rosa-hcp-1 rosacontrolplane/rosa-cp-1Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
ROSAControlPlaneの削除が完了したら、ROSARoleConfigおよびROSANetworkリソースを削除します。