3.4. コントロールプレーンへの Bare Metal Provisioning サービス (ironic) の追加
Red Hat OpenStack Services on OpenShift (RHOSO) デプロイメントで Bare Metal Provisioning サービス (ironic) を有効にするには、ironic サービスをコントロールプレーンに追加して、必要に応じて設定する必要があります。
手順
-
ワークステーションで
OpenStackControlPlaneカスタムリソース (CR) ファイルopenstack_control_plane.yamlを開きます。 次の
cellTemplates設定をnovaサービス設定に追加します。nova: apiOverride: route: {} template: ... secret: osp-secret cellTemplates: cell0: cellDatabaseAccount: nova-cell0 hasAPIAccess: true cell1: cellDatabaseAccount: nova-cell1 cellDatabaseInstance: openstack-cell1 cellMessageBusInstance: rabbitmq-cell1 hasAPIAccess: true novaComputeTemplates: compute-ironic:1 computeDriver: ironic.IronicDriver- 1
- Compute サービスの名前。名前には 20 文字の制限があり、小文字の英数字と
-記号のみを含めることができます。
ironicサービスを有効にし、接続するネットワークを指定します。spec: ... ironic: enabled: true template: rpcTransport: oslo databaseInstance: openstack ironicAPI: replicas: 1 override: service: internal: metadata: annotations: metallb.universe.tf/address-pool: ctlplane metallb.universe.tf/allow-shared-ip: ctlplane metallb.universe.tf/loadBalancerIPs: 192.168.122.80 spec: type: LoadBalancer ironicConductors: - replicas: 1 storageRequest: 10G networkAttachments: - baremetal1 provisionNetwork: baremetal2 ironicInspector: replicas: 03 networkAttachments: - baremetal4 inspectionNetwork: baremetal5 ironicNeutronAgent: replicas: 1 secret: osp-secret- 1
ironicConductorPod に使用するために、ベアメタルネットワーク向けの RHOCP の準備 で分離されたベアメタルネットワーク用に作成したNetworkAttachmentDefinitionCR の名前。- 2
- ベアメタルネットワークの作成 でプロビジョニングネットワークとして使用するために作成した Networking サービス (neutron) ネットワークの名前。
- 3
ironicInspectorサービスを使用せずに Bare Metal Provisioning サービスをデプロイできます。サービスをデプロイするには、replicasの数を1に設定します。- 4
ironicInspectorPod に使用するために、ベアメタルネットワーク向けの RHOCP の準備 で分離されたベアメタルネットワーク用に作成したNetworkAttachmentDefinitionCR の名前。- 5
- ベアメタルネットワークの作成 で検査ネットワークとして使用するために作成した Networking サービス (neutron) ネットワークの名前。Ironic Inspector API はポート 5050 でリッスンします。
Bare Metal Provisioning サービスがベアメタルノードのプロビジョニング、クリーニング、検査、およびレスキューに使用するネットワークを指定します。
spec: ... ironic: ... ironicConductors: - replicas: 1 storageRequest: 10G networkAttachments: - baremetal provisionNetwork: baremetal customServiceConfig: | [neutron] cleaning_network = <network_UUID> provisioning_network = <network_UUID> inspection_network = <network_UUID> rescuing_network = <network_UUID>-
<network_UUID>を、関数の ベアメタルネットワークの作成 で作成したネットワークの UUID に置き換えます。
-
OVN マッピングを設定します。
ovn: template: ovnController: ... nicMappings:1 datacentre: ocpbr baremetal: baremetal- 1
- 物理ネットワークプロバイダーを
NodeNetworkConfigurationPolicy(nncp) CR で定義されたインターフェイス名にマッピングするキーと値のペアのリスト。
コントロールプレーンを更新します。
$ oc apply -f openstack_control_plane.yaml -n openstackRHOCP が
OpenStackControlPlaneCR に関連するリソースを作成するまで待機します。次のコマンドを実行して、ステータスを確認します。$ oc get openstackcontrolplane -n openstack NAME STATUS MESSAGE openstack-control-plane Unknown Setup startedステータスが "Setup complete" であれば、
OpenStackControlPlaneリソースが作成されています。ヒントデプロイの進行状況を追跡するには、
getコマンドの末尾に-wオプションを追加します。openstacknamespace 内の Pod を確認して、コントロールプレーンがデプロイされていることを確認します。$ oc get pods -n openstackすべての Pod が完了または実行中の状態であれば、コントロールプレーンがデプロイされています。
検証
OpenStackClientPod へのリモートシェル接続を開きます。$ oc rsh -n openstack openstackclient内部サービスエンドポイントが各サービスに登録されていることを確認します。
$ openstack endpoint list -c 'Service Name' -c Interface -c URL --service ironic +--------------+-----------+---------------------------------------------------------------+ | Service Name | Interface | URL | +--------------+-----------+---------------------------------------------------------------+ | ironic | internal | http://ironic-internal.openstack.svc:9292 | | ironic | public | http://ironic-public-openstack.apps.ostest.test.metalkube.org | +--------------+-----------+---------------------------------------------------------------+openstackclientPod を終了します。$ exit