第5章 ストレージを使用しないエッジのデプロイ

中央サイトで Image サービス(glance)のバックエンドとして Object Storage サービス(swift)をバックエンドとして使用する場合には、エッジサイトにブロックストレージを持たない分散コンピュートノードクラスターをデプロイすることができます。各アーキテクチャーのロールおよびネットワークプロファイルが異なるため、ブロックストレージを設定せずにデプロイされたサイトは、後でブロックストレージを持つように更新することはできません。

重要

以下の手順では、実稼働環境用としては サポートされない Block Service(cinder)のバックエンドに lvm を使用しています。Block Storage サービスのバックエンドとして、認定されたブロックストレージソリューションをデプロイする必要があります。

5.1. ストレージを持たないエッジノードのデプロイ

コントロールプレーンに中央サイトを使用するエッジコンピュートノードをデプロイすることができます。以下の手順で、デプロイメントに新たな DCN スタックを追加し、既存の heat スタックからの設定を再利用して新たな環境ファイルを作成する方法について説明します。元の heat スタックにより、中央のデータセンター内にオーバークラウドがデプロイされます。リモートサイトにコンピュートノードをデプロイするために、追加の heat スタックを作成します。

5.1.1. 分散コンピュートノードの環境ファイルの設定

手順

  1. DCN サイトに必要な設定ファイルを生成します。

    openstack overcloud export \
    --config-download-dir /var/lib/mistral/central \
    --stack central --output-file ~/dcn-common/central-export.yaml
重要

この手順で新しい central-export.yaml 環境ファイルを作成し、オーバークラウドからの plan-environment.yaml ファイルのパスワードを使用します。central-export.yaml ファイルには、取り扱いに注意を要するセキュリティーデータが含まれます。セキュリティー向上のために、必要がなくなったらファイルを削除してください。

重要

--config-download-dir オプション用のディレクトリーを指定する場合、デプロイメント時に director が /var/lib/mistral に作成する中央のハブの Ansible 設定を使用します。openstack overcloud config download コマンドで手動で生成する Ansible 設定は使用しないでください。手動で生成した設定には、デプロイメント操作時にのみ作成される特定のファイルは含まれません。

5.1.2. DCN サイトへのコンピュートノードのデプロイ

以下の手順では、Compute ロールを使用して、コンピュートノードを dcn0 という名前のアベイラビリティーゾーン (AZ) にデプロイします。分散コンピュートノード (DC) のコンテキストでは、このロールはストレージのないサイトに使用されます。

手順

  1. dcn0/overrides.yaml で分散コンピュート (DCN) サイトのオーバーライドを確認します。

    parameter_defaults:
      ComputeCount: 3
      ComputeFlavor: baremetal
      ComputeSchedulerHints:
        'capabilities:node': '0-compute-%index%'
      NovaAZAttach: false
  2. 以下の内容で、~/dcn0 ディレクトリー内に site-name.yaml という名前の新たなファイルを作成します。

    resource_registry:
      OS::TripleO::Services::NovaAZConfig: /usr/share/openstack-tripleo-heat-templates/deployment/nova/nova-az-config.yaml
    parameter_defaults:
      NovaComputeAvailabilityZone: dcn0
      RootStackName: dcn0
  3. DCN サイトのコンテナーイメージを取得します。

    openstack tripleo container image prepare \
    --environment-directory dcn0 \
    -r ~/dcn0/roles_data.yaml \
    -e ~/dcn-common/central-export.yaml \
    -e ~/containers-prepare-parameter.yaml \
    --output-env-file ~/dcn0/dcn0-images-env.yaml
  4. dcn0 の deploy.sh デプロイメントスクリプトを実行します。

    #!/bin/bash
    STACK=dcn0
    source ~/stackrc
    time openstack overcloud deploy \
         --stack $STACK \
         --templates /usr/share/openstack-tripleo-heat-templates/ \
         -e /usr/share/openstack-tripleo-heat-templates/environments/dcn.yaml \
         -e /usr/share/openstack-tripleo-heat-templates/environments/nova-az-config.yaml \
         -e ~/dcn-common/central-export.yaml \
         -e ~/dcn0/dcn0-images-env.yaml \
         -e ~/dcn0/site-name.yaml \
         -e ~/dcn0/overrides.yaml

    network_data.yaml ファイルへの編集が必要な追加のエッジサイトをデプロイする場合は、中央サイトでスタックの更新を実行する必要があります。

注記

openstack overcloud deploy コマンドに、ネットワーク設定用の heat テンプレートを追加する必要があります。エッジアーキテクチャーの設計には、スパイン/リーフ型ネットワークが必要です。詳しくは、『スパイン/リーフ型ネットワーク』を参照してください。