6.7. director Operator を使用したオーバークラウドの設定の適用
コントロールプレーンを作成してベアメタルの Compute ノードをプロビジョニングし、各ノードにソフトウェアを設定する Ansible Playbook を生成してからしか、director Operator でオーバークラウドを設定できません。OpenStackDeploy リソースを作成すると、director Operator は ansible Playbook を実行してオーバークラウドを設定するジョブを作成します。
前提条件
- OpenShift Container Platform クラスターが稼働し、director Operator が正しくインストールされていることを確認する。
-
oc
コマンドラインツールがワークステーションにインストールされていることを確認する。 - OpenStackControlPlane リソースを使用してコントロールプレーンを作成します。
- OpenStackBareMetalSet リソースを使用して、ベアメタルの Compute ノードを作成します。
- OpentackConfigGenerator を使用して、オーバークラウドの Ansible Playbook 設定を作成します。
- OpenenstackConfigVersion を使用して、オーバークラウドの設定に使用する ansible Playbook のハッシュ/ダイジェストを選択します。
手順
ワークステーションに
openstack-deployment.yaml
という名前のファイルを作成します。リソース仕様を Ansible Playbook に含めます。以下に例を示します。apiVersion: osp-director.openstack.org/v1beta1 kind: OpenStackDeploy metadata: name: default spec: configVersion: n5fch96h548h75hf4hbdhb8hfdh676h57bh96h5c5h59hf4h88h… configGenerator: default
リソース仕様に以下の値を設定します。
metadata.name
-
Compute ノードのベアメタルセットの名前を設定します。デフォルトは
default
です。 metadata.namespace
-
デフォルトの
openstack
で、diretor Operator namespace に設定します。 spec.configVersion
- デプロイする Playbook の設定バージョン/git ハッシュ。
spec.configGenerator
- configGenerator の名前。
spec セクションで使用できる値の詳細は、
openstackdeploy
CRD のカスタムリソース定義の仕様スキーマを確認します。$ oc describe crd openstackdeploy
OpenStackDeploy 仕様の設定が完了したら、ファイルを保存します。
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 に手動でアクセスできます。/home/cloud-admin/work/directory
には、現在のデプロイメントの ansible Playbook とansible.log
ファイルがあります。