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.yaml
URL を取得してライブ 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 2
Cluster 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
-