6.3.12.4. ホステッドクラスターのベアメタルホスト作成
ベアメタルホスト は、物理的な詳細と論理詳細を含む openshift-machine-api オブジェクトで、Metal3 Operator によって識別できるようになっています。これらの詳細は、agents と呼ばれる他の Assisted Service オブジェクトに関連付けられています。
前提条件
- ベアメタルホストと宛先ノードを作成する前に、宛先マシンを準備しておく必要があります。
- クラスターで使用するために、ベアメタルインフラストラクチャーに Red Hat Enterprise Linux CoreOS (RHCOS) コンピュートマシンをインストールした。
手順
ベアメタルホストを作成するには、以下の手順を実行します。
次の情報を含む YAML ファイルを作成します。ベアメタルホストに関して入力する詳細情報については、「BMO を使用して、ユーザーがプロビジョニングしたクラスターで新しいホストをプロビジョニングする」を参照してください。
ベアメタルホストの認証情報を保持するシークレットが 1 つ以上あるため、ワーカーノードごとに少なくとも 2 つのオブジェクトを作成する必要があります。
apiVersion: v1 kind: Secret metadata: name: <hosted_cluster_name>-worker0-bmc-secret namespace: <hosted_cluster_namespace> data: password: YWRtaW4= username: YWRtaW4= type: Opaque # ... apiVersion: metal3.io/v1alpha1 kind: BareMetalHost metadata: name: <hosted_cluster_name>-worker0 namespace: <hosted_cluster_namespace> labels: infraenvs.agent-install.openshift.io: <hosted_cluster_name> annotations: inspect.metal3.io: disabled bmac.agent-install.openshift.io/hostname: <hosted_cluster_name>-worker0 spec: automatedCleaningMode: disabled bmc: disableCertificateVerification: true address: redfish-virtualmedia://[192.168.126.1]:9000/redfish/v1/Systems/local/<hosted_cluster_name>-worker0 credentialsName: <hosted_cluster_name>-worker0-bmc-secret bootMACAddress: aa:aa:aa:aa:02:11 online: trueここでは、以下のようになります。
- <hosted_cluster_name>
- ホステッドクラスターの名前を指定します。
- <hosted_cluster_namespace>
- ホステッドクラスターの namespace の名前を指定します。
- password
- Baseboard Management Controller (BMC) のパスワードを Base64 形式で指定します。
- username
- BMC のユーザー名を Base64 形式で指定します。
- infraenvs.agent-install.openshift.io
-
Assisted Installer と
BareMetalHostオブジェクト間のリンクとして機能します。 - bmac.agent-install.openshift.io/hostname
- デプロイ時に受け入れられるノード名を表します。
- automatedCleaningMode
- Metal3 Operator によってノードが消去されることを防ぎます。
- disableCertificateVerification
-
クライアントからの証明書の検証をバイパスするために
trueに設定します。 - address
- ワーカーノードの BMC アドレスを示します。
- credentialsName
- ユーザーとパスワードの認証情報が保存されているシークレットを指します。
- bootMACAddress
- ノードの起動元のインターフェイス MAC アドレスを示します。
- online
-
BareMetalHostオブジェクトが作成された後のノードの状態を定義します。
次のコマンドを入力して、
BareMetalHostオブジェクトをデプロイします。$ oc apply -f 04-bmh.yamlプロセス中に、次の出力が確認できます。
この出力は、プロセスがノードに到達しようとしていることを示しています。
出力例
NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE clusters-hosted hosted-worker0 registering true 2s clusters-hosted hosted-worker1 registering true 2s clusters-hosted hosted-worker2 registering true 2sこの出力は、ノードが起動していることを示しています。
出力例
NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE clusters-hosted hosted-worker0 provisioning true 16s clusters-hosted hosted-worker1 provisioning true 16s clusters-hosted hosted-worker2 provisioning true 16sこの出力は、ノードが正常に起動したことを示しています。
出力例
NAMESPACE NAME STATE CONSUMER ONLINE ERROR AGE clusters-hosted hosted-worker0 provisioned true 67s clusters-hosted hosted-worker1 provisioned true 67s clusters-hosted hosted-worker2 provisioned true 67s
ノードが起動したら、次の例に示すように、namespace のエージェントに注目してください。
出力例
NAMESPACE NAME CLUSTER APPROVED ROLE STAGE clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0411 true auto-assign clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0412 true auto-assign clusters-hosted aaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaa0413 true auto-assignエージェントは、インストールに使用できるノードを表します。ホステッドクラスターにノードを割り当てるには、ノードプールをスケールアップします。