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 のハッシュ/ダイジェストを選択します。

手順

  1. ワークステーションに 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 仕様の設定が完了したら、ファイルを保存します。

  2. 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 ファイルがあります。