第6章 ストレージを使用しないエッジのデプロイ
中央サイトで Image サービス (glance) のバックエンドとして Object Storage サービス (swift) を使用する場合は、エッジサイトにブロックストレージを持たない分散コンピュートノードクラスターをデプロイすることができます。各アーキテクチャーのロールおよびネットワークプロファイルが異なるため、ブロックストレージを設定せずにデプロイされたサイトは、後でブロックストレージを持つように更新することはできません。
以下の手順では Block Storage サービス (cinder) のバックエンドとして lvm を使用していますが、実稼働環境用ではサポートされません。Block Storage サービスのバックエンドとして、認定されたブロックストレージソリューションをデプロイする必要があります。
6.1. ストレージを持たないエッジノードのデプロイ
コントロールプレーンに中央サイトを使用するエッジコンピュートノードをデプロイすることができます。以下の手順で、デプロイメントに新たな DCN スタックを追加し、既存の heat スタックからの設定を再利用して新たな環境ファイルを作成する方法について説明します。元の heat スタックにより、中央のデータセンター内にオーバークラウドがデプロイされます。リモートサイトにコンピュートノードをデプロイするために、追加の heat スタックを作成します。
6.1.1. 分散コンピュートノードの環境ファイルの設定
この手順で新しい central-export.yaml
環境ファイルを作成し、オーバークラウドからの plan-environment.yaml
ファイルのパスワードを使用します。central-export.yaml
ファイルには、取り扱いに注意を要するセキュリティーデータが含まれます。セキュリティー向上のために、必要がなくなったらファイルを削除してください。
--config-download-dir
オプション用のディレクトリーを指定する場合、デプロイメント時に director が /var/lib/mistral
に作成する中央のハブの Ansible 設定を使用します。openstack overcloud config download
コマンドで手動で生成する Ansible 設定は使用しないでください。手動で生成した設定には、デプロイメント操作時にのみ作成される特定のファイルは含まれません。
イメージをエッジサイトにコピーする前に、中央サイトにイメージをアップロードする必要があります。各イメージのコピーは、中央サイトの Image サービス (glance) に存在している必要があります。
Image、Compute、Block Storage サービスに、RBD ストレージドライバーを使用する必要があります。
手順
DCN サイトに必要な設定ファイルを生成します。
openstack overcloud export \ --config-download-dir /var/lib/mistral/central \ --stack central --output-file ~/dcn-common/central-export.yaml
実際の環境に適したロールを使用して、エッジロケーション用のロールを生成します。
openstack overcloud roles generate Compute -o ~/dcn0/dcn0_roles.yaml
ネットワークオーバーレイに ML2/OVS を使用している場合は、作成したロールファイルを編集して NeutronDhcpAgent
および NeutronMetadataAgent
ロールを含める必要があります。
... - OS::TripleO::Services::MySQLClient - OS::TripleO::Services::NeutronBgpVpnBagpipe + - OS::TripleO::Services::NeutronDhcpAgent + - OS::TripleO::Services::NeutronMetadataAgent - OS::TripleO::Services::NeutronLinuxbridgeAgent - OS::TripleO::Services::NeutronVppAgent - OS::TripleO::Services::NovaAZConfig - OS::TripleO::Services::NovaCompute ...
詳細は、ルーティング対応プロバイダーネットワークの準備 を参照してください。
6.1.2. DCN サイトへのコンピュートノードのデプロイ
以下の手順では、Compute
ロールを使用して、コンピュートノードを dcn0
という名前のアベイラビリティーゾーン (AZ) にデプロイします。分散コンピュートノード (DC) のコンテキストでは、このロールはストレージのないサイトに使用されます。
手順
dcn0/overrides.yaml で分散コンピュート (DCN) サイトのオーバーライドを確認します。
parameter_defaults: ComputeCount: 3 ComputeFlavor: baremetal ComputeSchedulerHints: 'capabilities:node': '0-compute-%index%' NovaAZAttach: false
以下の内容で、
~/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
DCN サイトのコンテナーイメージを取得します。
sudo 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
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/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 テンプレートを追加する必要があります。エッジアーキテクチャーの設計には、スパイン/リーフ型ネットワークが必要です。詳しくは、スパイン/リーフ型ネットワーク を参照してください。