6.7. データプレーンのデプロイ
OpenStackDataPlaneDeployment カスタムリソース定義 (CRD) を使用して、データプレーンノード上のサービスを設定し、データプレーンをデプロイします。OpenStackDataPlaneDeployment カスタムリソース (CR) を作成して、データプレーンでの Ansible の実行を制御します。OpenStackDataPlaneDeployment CR は、それぞれ 1 つの Ansible 実行をモデル化します。OpenStackDataPlaneDeployment CR を作成して、各 OpenStackDataPlaneNodeSet CR をデプロイします。
OpenStackDataPlaneDeployment の実行が正常に完了すると、OpenStackDataPlaneDeployment または関連する OpenStackDataPlaneNodeSet リソースが変更されても、Ansible は自動的に再実行されません。別の Ansible 実行を開始するには、別の OpenStackDataPlaneDeployment CR を作成する必要があります。新しい OpenStackDataPlaneDeployment が更新された Secret を使用して Ansible を実行できるようにするために、新しいものを作成する前に、環境内の失敗した OpenStackDataPlaneDeployment をすべて削除します。
手順
ワークステーションに
openstack_data_plane_deploy.yamlという名前のファイルを作成し、OpenStackDataPlaneDeploymentCR を定義します。apiVersion: dataplane.openstack.org/v1beta1 kind: OpenStackDataPlaneDeployment metadata: name: data-plane-deploy namespace: openstack-
metadata.name:OpenStackDataPlaneDeploymentCR 名は一意でなければならず、小文字の英数字、-(ハイフン)または.(ピリオド)で設定される必要があり、英数字で開始および終了する必要があります。この例の名前を、デプロイメント内のノードセットを反映する名前に更新します。
-
デプロイするすべての
OpenStackDataPlaneNodeSetCR を追加します。spec: nodeSets: - openstack-data-plane - <nodeSet_name> - ... - <nodeSet_name>-
<nodeSet_name>は、データプレーンデプロイメントに含めるOpenStackDataPlaneNodeSetCR の名前に置き換えます。
-
-
openstack_data_plane_deploy.yamlデプロイメントファイルを保存します。 データプレーンをデプロイします。
$ oc create -f openstack_data_plane_deploy.yaml -n openstackデプロイメントの実行中に Ansible ログを表示できます。
$ oc get pod -l app=openstackansibleee -w $ oc logs -l app=openstackansibleee -f --max-log-requests 10oc logsコマンドが以下のエラーと同様のエラーを返す場合は、--max-log-requestsの値を増やします。error: you are attempting to follow 19 log streams, but maximum allowed concurrency is 10, use --max-log-requests to increase the limitデータプレーンがデプロイされていることを確認します。
$ oc wait openstackdataplanedeployment data-plane-deploy --for=condition=Ready --timeout=<timeout_value> $ oc wait openstackdataplanenodeset openstack-data-plane --for=condition=Ready --timeout=<timeout_value><timeout_value>は、タスクの完了までコマンドが待機する分単位の値に置き換えます。たとえば、コマンドを 60 分間待機させたい場合は、値60mを使用します。この時間枠内にoc wait openstackdataplanedeploymentのSetupReadyまたはoc wait openstackdataplanenodesetのNodeSetReadyの完了ステータスが返されない場合、コマンドはタイムアウトエラーを返します。デプロイメントのサイズに適した値を使用します。大規模なデプロイメントでは、デプロイメントタスクを完了するための時間をより多く確保します。データプレーンの条件と状態の詳細は、Red Hat OpenStack Services on OpenShift のデプロイ の データプレーンの条件と状態 を参照してください。
Compute ノードを、それが接続されている Compute セルにマップします。
$ oc rsh nova-cell0-conductor-0 nova-manage cell_v2 discover_hosts --verbose追加のセルを作成しなかった場合は、このコマンドによって Compute ノードが
cell1にマップされます。openstackclientPod のリモートシェルにアクセスし、デプロイされた Compute ノードがコントロールプレーンに表示されることを確認します。$ oc rsh -n openstack openstackclient $ openstack hypervisor list一部のコンピュートノードがハイパーバイザーリストにない場合は、前の手順を再試行してください。コンピュートノードが引き続きリストにない場合は、デプロイされたデータプレーンノード上の
nova-computeサービスのステータスと健全性を確認してください。ハイパーバイザーのホスト名が完全修飾ドメイン名 (FQDN) であることを確認します。
$ hostname -fハイパーバイザーのホスト名が FQDN ではない場合 (たとえば、短縮名またはフルネームで登録されている場合) は、Red Hat サポートにお問い合わせください。