5.5. IBM Power での Hosted Control Plane の管理
IBM Power に Hosted Control Plane をデプロイした後、次のタスクを完了してホステッドクラスターを管理できます。
5.5.1. IBM Power 上の Hosted Control Plane 用の InfraEnv リソースを作成する リンクのコピーリンクがクリップボードにコピーされました!
InfraEnv は、ライブ ISO を開始しているホストがエージェントとして参加できる環境です。この場合、エージェントは Hosted Control Plane と同じ namespace に作成されます。
IBM Power コンピュートノード用の 64 ビット x86 ベアメタル上に、Hosted Control Plane 用の InfraEnv リソースを作成できます。
手順
InfraEnvリソースを設定するための YAML ファイルを作成します。以下の例を参照してください。apiVersion: agent-install.openshift.io/v1beta1 kind: InfraEnv metadata: name: <hosted_cluster_name> \1 namespace: <hosted_control_plane_namespace> \2 spec: cpuArchitecture: ppc64le pullSecretRef: name: pull-secret sshAuthorizedKey: <path_to_ssh_public_key>3 -
ファイルを
infraenv-config.yamlとして保存します。 次のコマンドを入力して設定を適用します。
$ oc apply -f infraenv-config.yamlURL を取得してライブ ISO をダウンロードし、IBM Power マシンがエージェントとして参加できるようにするには、以下のコマンドを入力します。
$ oc -n <hosted_control_plane_namespace> get InfraEnv <hosted_cluster_name> \ -o json
5.5.2. InfraEnv リソースへの IBM Power エージェントの追加 リンクのコピーリンクがクリップボードにコピーされました!
エージェントを追加するには、ライブ ISO で開始するようにマシンを手動で設定できます。
手順
-
ライブ ISO をダウンロードし、それを使用してベアメタルまたは仮想マシン (VM) ホストを起動します。ライブ ISO の URL は、
InfraEnvリソースのstatus.isoDownloadURLフィールドにあります。起動時に、ホストは Assisted Service と通信し、InfraEnvリソースと同じ namespace にエージェントとして登録します。 エージェントとそのプロパティーの一部を一覧表示するには、次のコマンドを入力します。
$ oc -n <hosted_control_plane_namespace> get agents出力例
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 auto-assign e57a637f-745b-496e-971d-1abbf03341ba auto-assign各エージェントが作成された後、必要に応じてエージェントの
installation_disk_idとhostnameを設定できます。エージェントの
installation_disk_idフィールドを設定するには、次のコマンドを入力します。$ oc -n <hosted_control_plane_namespace> patch agent <agent_name> -p '{"spec":{"installation_disk_id":"<installation_disk_id>","approved":true}}' --type mergeエージェントの
hostnameフィールドを設定するには、次のコマンドを入力します。$ oc -n <hosted_control_plane_namespace> patch agent <agent_name> -p '{"spec":{"hostname":"<hostname>","approved":true}}' --type merge
検証
エージェントの使用が承認されていることを確認するには、次のコマンドを入力します。
$ oc -n <hosted_control_plane_namespace> get agents出力例
NAME CLUSTER APPROVED ROLE STAGE 86f7ac75-4fc4-4b36-8130-40fa12602218 true auto-assign e57a637f-745b-496e-971d-1abbf03341ba true auto-assign
5.5.3. IBM Power 上のホステッドクラスターの NodePool オブジェクトのスケーリング リンクのコピーリンクがクリップボードにコピーされました!
NodePool オブジェクトは、ホステッドクラスターの作成時に作成されます。NodePool オブジェクトをスケーリングすることで、Hosted Control Plane にさらに多くのコンピュートノードを追加できます。
手順
次のコマンドを実行して、
NodePoolオブジェクトを 2 つのノードにスケーリングします。$ oc -n <hosted_cluster_namespace> scale nodepool <nodepool_name> --replicas 2Cluster API エージェントプロバイダーは、ホステッドクラスターに割り当てられる 2 つのエージェントをランダムに選択します。これらのエージェントはさまざまな状態を経て、最終的に OpenShift Container Platform ノードとしてホステッドクラスターに参加します。エージェントは次の順序で移行フェーズを通過します。
-
binding -
discovering -
insufficient -
installing -
installing-in-progress -
added-to-existing-cluster
-
次のコマンドを実行して、スケールされた特定のエージェントのステータスを確認します。
$ oc -n <hosted_control_plane_namespace> get agent \ -o jsonpath='{range .items[*]}BMH: {@.metadata.labels.agent-install\.openshift\.io/bmh} Agent: {@.metadata.name} State: {@.status.debugInfo.state}{"\n"}{end}'出力例
BMH: Agent: 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d State: known-unbound BMH: Agent: 5e498cd3-542c-e54f-0c58-ed43e28b568a State: insufficient次のコマンドを実行して、移行フェーズを表示します。
$ oc -n <hosted_control_plane_namespace> get agent出力例
NAME CLUSTER APPROVED ROLE STAGE 50c23cda-cedc-9bbd-bcf1-9b3a5c75804d hosted-forwarder true auto-assign 5e498cd3-542c-e54f-0c58-ed43e28b568a true auto-assign da503cf1-a347-44f2-875c-4960ddb04091 hosted-forwarder true auto-assign次のコマンドを実行して、ホステッドクラスターにアクセスするための
kubeconfigファイルを生成します。$ hcp create kubeconfig --namespace <hosted_cluster_namespace> \ --name <hosted_cluster_name> > <hosted_cluster_name>.kubeconfigエージェントが
added-to-existing-cluster状態に達したら、次のコマンドを入力して、OpenShift Container Platform ノードが表示されることを確認します。$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get nodes出力例
NAME STATUS ROLES AGE VERSION worker-zvm-0.hostedn.example.com Ready worker 5m41s v1.24.0+3882f8f worker-zvm-1.hostedn.example.com Ready worker 6m3s v1.24.0+3882f8f次のコマンドを入力して、
NodePoolオブジェクトをスケールアップしたときに 2 台のマシンが作成されたことを確認します。$ oc -n <hosted_control_plane_namespace> get machine.cluster.x-k8s.io出力例
NAME CLUSTER NODENAME PROVIDERID PHASE AGE VERSION hosted-forwarder-79558597ff-5tbqp hosted-forwarder-crqq5 worker-zvm-0.hostedn.example.com agent://50c23cda-cedc-9bbd-bcf1-9b3a5c75804d Running 41h 4.15.0 hosted-forwarder-79558597ff-lfjfk hosted-forwarder-crqq5 worker-zvm-1.hostedn.example.com agent://5e498cd3-542c-e54f-0c58-ed43e28b568a Running 41h 4.15.0次のコマンドを実行して、クラスターのバージョンを確認します。
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusterversion出力例
NAME VERSION AVAILABLE PROGRESSING SINCE STATUS clusterversion.config.openshift.io/version 4.15.0 True False 40h Cluster version is 4.15.0次のコマンドを実行して、クラスター Operator のステータスを確認します。
$ oc --kubeconfig <hosted_cluster_name>.kubeconfig get clusteroperatorsクラスターの各コンポーネントについて、出力に次のクラスター Operator ステータスが表示されます。
-
NAME -
VERSION -
AVAILABLE -
PROGRESSING -
DEGRADED -
SINCE -
MESSAGE
-