6.3. director Operator を使用したオーバークラウドの設定の適用
コントロールプレーンを作成してベアメタルの Compute ノードをプロビジョニングし、各ノードにソフトウェアを設定する Ansible Playbook を生成してからしか、director Operator (OSPdO) でオーバークラウドを設定できません。OpenStackDeploy
カスタムリソース (CR) を作成すると、OSPdO は Ansible Playbook を実行してオーバークラウドを設定するジョブを作成します。
OpenStackDeploy
CRD 定義と仕様スキーマを表示するには、次のコマンドを使用します。
$ oc describe crd openstackdeploy $ oc explain openstackdeploy.spec
前提条件
-
OpenStackControlPlane
CRD を使用してコントロールプレーンを作成している。 -
OpenStackBarementalSets
CRD を使用して Compute ノードを作成している。 -
OpenStackConfigGenerator
CRD を使用して、オーバークラウドの Ansible Playbook 設定を作成している。
手順
最新の
OpenStackConfigVersion
オブジェクトのhash/digest
を取得します。これは、オーバークラウドの設定に使用する必要がある Ansible Playbook を表します。$ oc get -n openstack --sort-by {.metadata.creationTimestamp} openstackconfigversion -o json
ワークステーション上に
openstack-deployment.yaml
という名前のファイルを作成し、リソース仕様を Ansible Playbook に含めます。apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackDeploy metadata: name: default spec: configVersion: <config_version> configGenerator: default
-
<config_version>
を、ステップ 1 で取得した Ansible Playbook のhash/digest
(例:n5fch96h548h75hf4hbdhb8hfdh676h57bh96h5c5h59hf4h88h...
) に置き換えます。
-
-
openstack-deployment.yaml
ファイルを保存します。 OpenStackDeploy
リソースを作成します。$ oc create -f openstack-deployment.yaml -n openstack
デプロイメントが実行すると、Ansible Playbook を実行するための Kubernetes ジョブが作成されます。ジョブのログを表示して、Ansible Playbook の実行を確認できます。
$ oc logs -f jobs/deploy-openstack-default
openstackclient
Pod にログインすることで、実行された Ansible Playbook に手動でアクセスすることもできます。現在のデプロイメントの ansible Playbook とansible.log
ファイルは/home/cloud-admin/work/directory
にあります。