1.10. クラスター API
Cluster API は、Kubernetes クラスターのプロビジョニング、アップグレード、管理を簡素化する宣言型 API を提供します。multicluster engine Operator は、コアとなる Cluster API コンポーネントに加え、複数のインフラストラクチャープロバイダーとブートストラッププロバイダーをインストールすることで、さまざまなユースケースとプラットフォームをサポートします。スタンドアロンの multicluster engine Operator または Red Hat Advanced Cluster Management で Cluster API を使用する方法を説明します。次のプロセスを参照してください。
1.10.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.10.1.1. Cluster API を使用したワークロードのプロビジョニング リンクのコピーリンクがクリップボードにコピーされました!
ワークロードをプロビジョニングするために必要なサービスを有効にします。デフォルトでは、
assisted-serviceが有効になっています。デフォルトでは、cluster-api-provider-metal3-preview とcluster-api-provider-openshift-assisted-previewは無効になっています。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-previewコンポーネント、cluster-api-provider-openshift-assisted-previewコンポーネントを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 <1>`.spec.openshiftAssistedConfigSpec.sshAuthorizedKey` は、ブート (discovery とも呼ばれる) フェーズでノードにアクセスするために使用されます。<2>`.spec.config.sshAuthorizedKey` は、プロビジョニングされた OpenShift Container Platform ノードにアクセスするために使用されます。
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