内容:
セクション1マルチノードOpenStackチャームデプロイメントガイド0.0.1.dev223–1--OpenStackチャームデプロイメントガイド
セクション2マルチノードOpenStackチャームデプロイメントガイド0.0.1.dev223–2-MAASのインストール
セクション3マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–3-Jujuをインストールする
セクション4マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–4-openstackをインストールします
セクション5マルチノードOpenStackチャームデプロイメントガイド0.0.1.dev223–5--バンドルにopenstackをインストールさせます
セクション6マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–6--Vaultを構成し、デジタル証明書のライフサイクルを設定します
セクション7マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–7--jujuバンドルのオフラインデプロイメント
セクション8マルチノードOpenStackチャームデプロイメントガイド0.0.1.dev223–8--OpenStackの構成
セクション9マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–9--ネットワークトポロジ
セクション10マルチノードOpenStackチャームデプロイメントガイド0.0.1.dev223–10–OpenStack高可用性インフラストラクチャー実用的
セクション11マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223–11–Jujuダッシュボードへのアクセス
OpenStackをインストールします
前のパートでは、Jujuをインストールし、Jujuコントローラーとモデルを作成しました。次に、Jujuを使用してOpenStack自体をインストールします。選択する方法は2つあります。
1別の魅力を通して。この方法により、Jujuがどのように機能し、OpenStackのコンポーネントがどのように連携するかを深く理解できます。JujuにOpenStackをインストールしたことがない場合は、このオプションを選択してください。
2チャームバンドルを使用します。このメソッドは、OpenStackを自動的にインストールする方法を提供します。OpenStackがJujuでどのように構築されるかに精通している場合は、このオプションを選択してください。
現在のページでは、方法1を紹介しています。方法2、バンドルを使用したOpenStackのデプロイを参照してください。
重要事項使用するインストール方法に関係なく、クラウドコンピューティングを導入したら、チャームのバージョンとマシンシリーズに関連する次の管理方法をお勧めします。1
クラウドの管理に使用するチャームサービス全体で、クラウドに大きな変更を加える必要があります(最新の安定したチャームバージョンにアップグレードする前に、新しいチャームサービスへの移行として)、クラウドサービスのアップグレード、マシンシリーズのアップグレード)。詳しくはチャームアップグレードをご覧ください。
2クラウドを構成するJujuマシンは、同じシリーズ(「バイオニック」や「フォーカル」など)を実行する必要があります
が、2つを組み合わせて実行することはできません。詳細については、シリーズのアップグレードを参照してください。
このページには、非常に長いですが、たった3つの異なるジュジュコマンドを使用しますが:juju deploy
、juju add-unit
とjuju add-relation
。続行する前に、Jujuドキュメントの関連する章を読む必要がある場合があります。
このページでは、可用性の低い最小限のOpenStackクラウドをインストールする方法を示します。高可用性のトピックについては、OpenStackの高可用性を参照してください。
OpenStackリリース
ガイドの概要セクションで説明されているように、OpenStackUssuriはUbuntu20.04 LTS(Focal)クラウドノードにデプロイされます。これを実現するために、クラウドノードのデフォルトのパッケージアーカイブ(「ディストリビューション」)が、各OpenStackアプリケーションのインストール中に使用されます。一部のアプリケーション自体はOpenStackプロジェクトの一部ではないため、適用されないことに注意してください(例外、Cephアプリケーションはこの方法を使用します)。クラウドアーカイブリリースの詳細については、OpenStackアップグレード付録のアップグレードの実行を
参照してください。 OpenStackをアップグレードするときにそれらを使用する方法について。
重要選択したOpenStackディストリビューションは、インストールおよび構成手順に影響を与える可能性があります。
インストールの進捗状況
チャームのOpenStackインストールには多くの変更が含まれています。ほとんどの場合、このプロセスではいくつかのコンポーネントが満たされていません。これにより、juju status
コマンドの出力に同様のエラーメッセージが表示されます。パニックにならない。実際、これらはさまざまなソフトウェアの相互依存性を理解する機会です。適切なアプリケーションと関係が追加および処理されると、関係の喪失や関係のブロックなどのメッセージは表示されなくなります。
インストールの進行状況を監視する便利な方法のヒントは、コマンド
watch -n 5 -c juju status --color
を別の端末で実行することです。
OpenStackをデプロイする
[Jujuのインストール]ページの指示に正確に従ったとすると、「maas-controller」という名前のJujuコントローラーと、「openstack」という名前の空のJujuモデルが表示されます。次に、この背景に切り替えます。
juju switch maas-controller:openstack
次のセクションでは、さまざまなOpenStackコンポーネントが「OpenStack」モデルに追加されます。各アプリケーションはオンラインのCharmストアからインストールされ、多くはYAMLファイルを介して構成オプションを指定します。
さらにコマンドを発行する前に、Jujuコマンドが完了するのを待つ必要がないことに注意してください。ただし、クラウドの現在の状態に対するコマンドの影響を理解することは非常に有益です。
Ceph OSD
Ceph-osdアプリケーションは、ceph-osdシンボルを使用して4つのノードにデプロイされます。osdをサポートするブロックデバイスの名前は、ノードのハードウェアによって異なります。ノード上のすべての可能なデバイスは、osd-devicesオプションの値として使用する必要があります(スペースで区切ってください)。ここでは、各クラウドノードで同じデバイス/ dev / sdbを使用します。ファイルceph-osd.yamlには構成が含まれています
vim ceph-osd.yaml
ceph-osd:
osd-devices: /dev/sdb
source: distro
アプリケーションをデプロイするには、[MAASのインストール]ページの各ノードに配置した「compute」タグを使用します。
juju deploy -n 4 --config ceph-osd.yaml --constraints tags=compute ceph-osd
ceph-osdユニットからのメッセージ(「非rawデバイスが検出されました」など)がjuju状態の出力に表示される場合は、「ceph-osd」に接続されている操作zap-diskおよびadd-diskを使用する必要があります。シンボル。ザップディスク操作は本質的に破壊的です。Cephが使用するディスク上のすべてのデータと署名をクリアする場合にのみ使用してください。
ceph-osdは4つのノードにデプロイされており、この環境では4つのノードしか使用できないため、厳密に言えば、「compute」タグを使用する必要はありません。
Novaの計算
Nova-computeアプリケーションは、nova-computeチャームを使用してノードにデプロイされます。次に、アプリケーションを他の2台のマシンに拡張します。ファイルnova-compute.yamlには、次の構成が含まれています。
vim nova-compute.yaml
nova-compute:
enable-live-migration: true
enable-resize: true
migration-auth-type: ssh
openstack-origin: distro
使用可能なアイドル状態のJujuマシン(MAASノード)がなくなったため、最初のノードはコンピューターによって配置される必要があります。これは、ノードに複数のサービスを配置したことを意味します。マシン1、2、および3を選択しました。
juju deploy -n 3 --to 1,2,3 --config nova-compute.yaml nova-compute
「novacompute」チャームは、ミラー形式タイプの各アプリケーションをいつでもサポートするように設計されていることに注意してください。既存のインスタンスが以前の形式を使用している場合、形式を変更すると(
チャームオプションlibvirt-image-backendを参照)、インスタンスごとに手動で画像を変換する必要があります。バグLP#1826888を参照してください。
迅速な保管
高速ストレージアプリケーションは、高速ストレージの魅力を備えた3つのノード(コンピューター0、2、および3)に展開されます。swift-storage.yamlには、次の構成が含まれています。
vim swift-storage.yaml
swift-storage:
block-device: sdc
overwrite: "true"
openstack-origin: distro
この構成は、ブロックデバイス/ dev / sdcを指します。使用可能なハードウェアに応じて調整します。実稼働環境では、ループバックデバイスの使用を避けてください。
3台のマシンに展開します。
juju deploy -n 3 --to 0,2,3 --config swift-storage.yaml swift-storage
MySQLInnoDBクラスター
MySQL InnoDBクラスターには、常に少なくとも3つのデータベースユニットが必要です。これらのデータベースユニットは、マシン0、1、および2に統合されます。
juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 mysql-innodb-cluster
ボールト
Vaultは、クラウドアプリケーション間の暗号化通信をサポートするTLS証明書を管理するために必要です。
次のように展開します。
juju deploy --to lxd:3 vault
これは、前のセクションで設定したクラウドデータベースに接続する最初のアプリケーションです。プロセスは次のとおりです。
- mysqlルーター(スレーブ)のアプリケーション固有のインスタンスを作成します
- mysqlルーターインスタンスとデータベースの間に関係を追加します
- アプリケーションとmysqlルーターインスタンスの間に関係を追加します
手順2と手順3を組み合わせて、アプリケーションをクラウドデータベースに接続します。
次に、Vaultに対応するコマンドを示します。
juju deploy mysql-router vault-mysql-router
juju add-relation vault-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation vault-mysql-router:shared-db vault:shared-db
Vaultをアクティブにして、ブロックを解除する必要があります。この種の魅力には、特定のタスクを実行するための許可も必要です。これらの手順は、Vaultページに含まれています。今やれ。
上記の出力コマンドのユニット部分が完了すると、チャームのステータスは次のようになります。
Unit Workload Agent Machine Public address Ports Message
ceph-osd/0* blocked idle 0 10.0.0.206 Missing relation: monitor
ceph-osd/1 blocked idle 1 10.0.0.208 Missing relation: monitor
ceph-osd/2 blocked idle 2 10.0.0.209 Missing relation: monitor
ceph-osd/3 blocked idle 3 10.0.0.213 Missing relation: monitor
mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.211 Unit is ready: Mode: R/W
mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.212 Unit is ready: Mode: R/O
mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.214 Unit is ready: Mode: R/O
nova-compute/0* blocked idle 1 10.0.0.208 Missing relations: image, messaging
nova-compute/1 blocked idle 2 10.0.0.209 Missing relations: image, messaging
nova-compute/2 blocked idle 3 10.0.0.213 Missing relations: messaging, image
swift-storage/0* blocked idle 0 10.0.0.206 Missing relations: proxy
swift-storage/1 blocked idle 2 10.0.0.209 Missing relations: proxy
swift-storage/2 blocked idle 3 10.0.0.213 Missing relations: proxy
vault/0* active idle 3/lxd/0 10.0.0.217 8200/tcp Unit is ready (active: true, mlock: disabled)
vault-mysql-router/0* active idle 10.0.0.217 Unit is ready
中性子ネットワーク
Neutronネットワークには4つのアプリケーションがあります。
- 中性子API
- 中性子-api-プラグイン-オーブン(従属)
- オーブン中央
- ovn-chassis(従属)
ファイルneutron.yamlには、必要な構成が3つ含まれています。
vim neutron.yaml
ovn-chassis:
bridge-interface-mappings: br-ex:eth1
ovn-bridge-mappings: physnet1:br-ex
neutron-api:
neutron-security-groups: true
flat-network-providers: physnet1
openstack-origin: distro
ovn-central:
source: distro
ブリッジインターフェイスマッピングbridge-interface-mappings設定は、OVNシャーシシャーシがバインドするネットワークインターフェイスを参照します。上記の例では、これは「eth1」であり、未使用のインターフェースである必要があります。MAASでは、このインターフェイスは「未構成」のIPモードである必要があります(MAASドキュメントの委任後の構成を参照)。すべてのノードがOVNシャーシシャーシに対応できるようにするには、4つのノードすべてにこのインターフェイスが必要です。
フラットネットワークプロバイダーflat-network-providers設定により、このシナリオ例で使用されているneutronフラットネットワークプロバイダーに「physnet1」という名前を付けることができます。次のページでパブリックネットワークを設定するときに、フラットネットワークプロバイダーとその名前を引用します。
データポートインターフェイスをフラットネットワークプロバイダーにマップするように設定されたOvn-bridge-mappings
OVNの主なアプリケーションはOVN-centralであり、少なくとも3つのユニットが必要です。それらは、マシン0、1、および2で組み立てられます。
juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --config neutron.yaml ovn-central
neutron-apiアプリケーションはマシン1にロードされます:
juju deploy --to lxd:1 --config neutron.yaml neutron-api
下位レベルのチャームアプリケーションをデプロイします。
juju deploy neutron-api-plugin-ovn
juju deploy --config neutron.yaml ovn-chassis
必要な関係を追加します。
juju add-relation neutron-api-plugin-ovn:neutron-plugin neutron-api:neutron-plugin-api-subordinate
juju add-relation neutron-api-plugin-ovn:ovsdb-cms ovn-central:ovsdb-cms
juju add-relation ovn-chassis:ovsdb ovn-central:ovsdb
juju add-relation ovn-chassis:nova-compute nova-compute:neutron-plugin
juju add-relation neutron-api:certificates vault:certificates
juju add-relation neutron-api-plugin-ovn:certificates vault:certificates
juju add-relation ovn-central:certificates vault:certificates
juju add-relation ovn-chassis:certificates vault:certificates
クラウドデータベースにneutron-apiを追加します。
juju deploy mysql-router neutron-api-mysql-router
juju add-relation neutron-api-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation neutron-api-mysql-router:shared-db neutron-api:shared-db
キーストーン
キーアプリケーションはコンテナマシン0になります。
デプロイ:
juju deploy --to lxd:0 --config openstack-origin=distro keystone`
クラウドデータベースに参加するためのキーストーン:
juju deploy mysql-router keystone-mysql-router
juju add-relation keystone-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation keystone-mysql-router:shared-db keystone:shared-db
この時点で、次の2つの関係を追加することもできます。
juju add-relation keystone:identity-service neutron-api:identity-service
juju add-relation keystone:certificates vault:certificates
RabbitMQ
Rabbitmq-serverアプリケーションは、rabbitmq-serverの魅力でマシン2にパッケージ化されます。
juju deploy --to lxd:2 rabbitmq-server
この時点で、2つの関係を追加できます。
juju add-relation rabbitmq-server:amqp neutron-api:amqp
juju add-relation rabbitmq-server:amqp nova-compute:amqp
このときのjuju status
チャームステータスの出力は次のようになります。
Unit Workload Agent Machine Public address Ports Message
ceph-osd/0* blocked idle 0 10.0.0.206 Missing relation: monitor
ceph-osd/1 blocked idle 1 10.0.0.208 Missing relation: monitor
ceph-osd/2 blocked idle 2 10.0.0.209 Missing relation: monitor
ceph-osd/3 blocked idle 3 10.0.0.213 Missing relation: monitor
keystone/0* active idle 0/lxd/2 10.0.0.223 5000/tcp Unit is ready
keystone-mysql-router/0* active idle 10.0.0.223 Unit is ready
mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.211 Unit is ready: Mode: R/W
mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.212 Unit is ready: Mode: R/O
mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.214 Unit is ready: Mode: R/O
neutron-api/0* active idle 1/lxd/2 10.0.0.220 9696/tcp Unit is ready
neutron-api-mysql-router/0* active idle 10.0.0.220 Unit is ready
neutron-api-plugin-ovn/0* active idle 10.0.0.220 Unit is ready
nova-compute/0* blocked idle 1 10.0.0.208 Missing relations: image
ovn-chassis/1 active idle 10.0.0.208 Unit is ready
nova-compute/1 blocked idle 2 10.0.0.209 Missing relations: image
ovn-chassis/0* active idle 10.0.0.209 Unit is ready
nova-compute/2 blocked idle 3 10.0.0.213 Missing relations: image
ovn-chassis/2 active idle 10.0.0.213 Unit is ready
ovn-central/0* active idle 0/lxd/1 10.0.0.218 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active)
ovn-central/1 active idle 1/lxd/1 10.0.0.221 6641/tcp,6642/tcp Unit is ready
ovn-central/2 active idle 2/lxd/1 10.0.0.219 6641/tcp,6642/tcp Unit is ready
rabbitmq-server/0* active idle 2/lxd/2 10.0.0.222 5672/tcp Unit is ready
swift-storage/0* blocked idle 0 10.0.0.206 Missing relations: proxy
swift-storage/1 blocked idle 2 10.0.0.209 Missing relations: proxy
swift-storage/2 blocked idle 3 10.0.0.213 Missing relations: proxy
vault/0* active idle 3/lxd/0 10.0.0.217 8200/tcp Unit is ready (active: true, mlock: disabled)
vault-mysql-router/0* active idle 10.0.0.217 Unit is ready
Novaクラウドコントローラー
nova-scheduler、nova-api、nova-conductorサービスを含むNova-cloud-controllerアプリケーションは、nova-cloud-controllerチャームを使用してマシン0にパッケージ化されます。ファイルnova-cloud-controller.yamlには、次の構成が含まれています。
vim controller.yaml
nova-cloud-controller:
network-manager: Neutron
openstack-origin: distro
デプロイ:
juju deploy --to lxd:3 --config nova-cloud-controller.yaml nova-cloud-controller
nova-cloud-controllerをクラウドデータベースに追加します。
juju deploy mysql-router ncc-mysql-router
juju add-relation ncc-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation ncc-mysql-router:shared-db nova-cloud-controller:shared-db
juju状態の出力を圧縮したままにするために、予想されるnova-cloud-controller-mysql-router
アプリケーション名がncc-mysql-routerに短縮されていることに注意してください。
この時点で、他に5つの関係を追加できます。
juju add-relation nova-cloud-controller:identity-service keystone:identity-service
juju add-relation nova-cloud-controller:amqp rabbitmq-server:amqp
juju add-relation nova-cloud-controller:neutron-api neutron-api:neutron-api
juju add-relation nova-cloud-controller:cloud-compute nova-compute:cloud-compute
juju add-relation nova-cloud-controller:certificates vault:certificates
配置
配置アプリケーションは、プレースメットチャームを使用してマシン2の
展開に統合およびインストールされます。
juju deploy --to lxd:3 --config openstack-origin=distro placement
クラウドデータベースの場所に参加します。
juju deploy mysql-router placement-mysql-router
juju add-relation placement-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation placement-mysql-router:shared-db placement:shared-db
この時点で、他に3つの関係を追加できます。
juju add-relation placement:identity-service keystone:identity-service
juju add-relation placement:placement nova-cloud-controller:placement
juju add-relation placement:certificates vault:certificates
OpenStackダッシュボード
Openstack-dashboardアプリケーション(Horizon)は、openstack-dashboardチャームを介してコンピューター1でアセンブルされます。
デプロイメント:
juju deploy --to lxd:1 --config openstack-origin=distro openstack-dashboard
openstack-dashboardをクラウドデータベースに追加します。
juju deploy mysql-router dashboard-mysql-router
juju add-relation dashboard-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation dashboard-mysql-router:shared-db openstack-dashboard:shared-db
juju状態の出力を圧縮したままにするために、予想されるopenstack-dashboard-mysql-routerアプリケーション名が
dashboard-mysql-routerに短縮されていることに注意してください。
さらに2つの関係が必要です。
juju add-relation openstack-dashboard:identity-service keystone:identity-service
juju add-relation openstack-dashboard:certificates vault:certificates
一目
glanceアプリケーションは、glanceチャームを使用してマシン2に統合およびインストールされます。
展開:
juju deploy --to lxd:3 --config openstack-origin=distro glance
クラウドデータベースブラウジングに参加します。
juju deploy mysql-router glance-mysql-router
juju add-relation glance-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation glance-mysql-router:shared-db glance:shared-db
この時点で、4つの関係を追加できます。
juju add-relation glance:image-service nova-cloud-controller:image-service
juju add-relation glance:image-service nova-compute:image-service
juju add-relation glance:identity-service keystone:identity-service
juju add-relation glance:certificates vault:certificates
このとき、jujustatusコマンドで出力されるcharnstatusは次のようになります。
Unit Workload Agent Machine Public address Ports Message
ceph-osd/0* blocked idle 0 10.0.0.206 Missing relation: monitor
ceph-osd/1 blocked idle 1 10.0.0.208 Missing relation: monitor
ceph-osd/2 blocked idle 2 10.0.0.209 Missing relation: monitor
ceph-osd/3 blocked idle 3 10.0.0.213 Missing relation: monitor
glance/0* active idle 3/lxd/3 10.0.0.224 9292/tcp Unit is ready
glance-mysql-router/0* active idle 10.0.0.224 Unit is ready
keystone/0* active idle 0/lxd/2 10.0.0.223 5000/tcp Unit is ready
keystone-mysql-router/0* active idle 10.0.0.223 Unit is ready
mysql-innodb-cluster/0* active idle 0/lxd/0 10.0.0.211 Unit is ready: Mode: R/W
mysql-innodb-cluster/1 active idle 1/lxd/0 10.0.0.212 Unit is ready: Mode: R/O
mysql-innodb-cluster/2 active idle 2/lxd/0 10.0.0.214 Unit is ready: Mode: R/O
neutron-api/0* active idle 1/lxd/2 10.0.0.220 9696/tcp Unit is ready
neutron-api-mysql-router/0* active idle 10.0.0.220 Unit is ready
neutron-api-plugin-ovn/0* active idle 10.0.0.220 Unit is ready
nova-cloud-controller/0* active idle 3/lxd/1 10.0.0.216 8774/tcp,8775/tcp Unit is ready
ncc-mysql-router/0* active idle 10.0.0.216 Unit is ready
nova-compute/0* active idle 1 10.0.0.208 Unit is ready
ovn-chassis/1 active idle 10.0.0.208 Unit is ready
nova-compute/1 active idle 2 10.0.0.209 Unit is ready
ovn-chassis/0* active idle 10.0.0.209 Unit is ready
nova-compute/2 active idle 3 10.0.0.213 Unit is ready
ovn-chassis/2 active idle 10.0.0.213 Unit is ready
openstack-dashboard/0* active idle 1/lxd/3 10.0.0.210 80/tcp,443/tcp Unit is ready
dashboard-mysql-router/0* active idle 10.0.0.210 Unit is ready
ovn-central/0* active idle 0/lxd/1 10.0.0.218 6641/tcp,6642/tcp Unit is ready (leader: ovnnb_db, ovnsb_db northd: active)
ovn-central/1 active idle 1/lxd/1 10.0.0.221 6641/tcp,6642/tcp Unit is ready
ovn-central/2 active idle 2/lxd/1 10.0.0.219 6641/tcp,6642/tcp Unit is ready
placement/0* active idle 3/lxd/2 10.0.0.215 8778/tcp Unit is ready
placement-mysql-router/0* active idle 10.0.0.215 Unit is ready
rabbitmq-server/0* active idle 2/lxd/2 10.0.0.222 5672/tcp Unit is ready
swift-storage/0* blocked idle 0 10.0.0.206 Missing relations: proxy
swift-storage/1 blocked idle 2 10.0.0.209 Missing relations: proxy
swift-storage/2 blocked idle 3 10.0.0.213 Missing relations: proxy
vault/0* active idle 3/lxd/0 10.0.0.217 8200/tcp Unit is ready (active: true, mlock: disabled)
vault-mysql-router/0* active idle 10.0.0.217 Unit is ready
Cephモニター
Ceph-monアプリケーションは、ceph-monチャームを使用してマシン0、1、および2にインストールされます。
デプロイ:
juju deploy -n 3 --to lxd:0,lxd:1,lxd:2 --config source=distro ceph-mon
この時点で、次の3つの関係を追加できます。
juju add-relation ceph-mon:osd ceph-osd:mon
juju add-relation ceph-mon:client nova-compute:ceph
juju add-relation ceph-mon:client glance:ceph
上記の関係については、
Nova-compute:Cephの関係により、CephはNovaの起動不可能なディスクイメージのストレージバックエンドになります。Nova-computeチャーム
オプションlibvirt-image-backendを有効にするには、「rbd」に設定する必要があります。
glance:Cephの関係により、CephはGlanceのストレージバックエンドになります。
石炭殻
燃えがらアプリケーションは、燃えがらチャームを使用してマシン1に統合およびインストールされます。ファイルcinder.yamlには、次の構成が含まれています。
vim cinder.yaml
cinder:
glance-api-version: 2
block-device: None
openstack-origin: distro
デプロイ:
juju deploy --to lxd:1 --config cinder.yaml cinder
クラウドデータベースにcinderを追加します。
juju deploy mysql-router cinder-mysql-router
juju add-relation cinder-mysql-router:db-router mysql-innodb-cluster:db-router
juju add-relation cinder-mysql-router:shared-db cinder:shared-db
この時点で、4つの関係を追加できます。
juju add-relation cinder:cinder-volume-service nova-cloud-controller:cinder-volume-service
juju add-relation cinder:identity-service keystone:identity-service
juju add-relation cinder:amqp rabbitmq-server:amqp
juju add-relation cinder:image-service glance:image-service
上記のglance:イメージとサービスの関係により、CinderはGlance APIを使用できるようになります(たとえば、CinderがGlanceイメージのボリュームスナップショットを実行できるようにします)
Glanceと同様に、CinderはストレージバックエンドとしてCephを使用します(したがって、ブロックデバイス:なしこれは、cinder-ceph従属チャームを介して実装され
ます。Glanceと同様に、CinderはストレージバックエンドとしてCephを使用します(したがって、ブロックデバイス:構成ファイルにはありません)。これは、cinder-cephのアクセサリチャームによって実現されます。
juju deploy cinder-ceph
4つの関係を追加する必要があります。
juju add-relation cinder-ceph:storage-backend cinder:storage-backend
juju add-relation cinder-ceph:ceph ceph-mon:client
juju add-relation cinder-ceph:ceph-access nova-compute:ceph-access
juju add-relation cinder:certificates vault:certificates
Swiftプロキシ
Swiftプロキシアプリケーションは、swiftプロキシチャームを使用してコンピューター3にパッケージ化されます。
vim swift-proxy.yaml
swift-proxy:
zone-assignment: auto
swift-hash: "<uuid>"
Swiftプロキシは、一意の識別子/プロキシ(UUID)を提供する必要があります。uuid -v 4コマンドを使用して生成し(最初にuuid debパッケージをインストールする必要がある場合があります)、ファイルに挿入します。
デプロイ:
juju deploy --to lxd:3 --config swift-proxy.yaml swift-proxy
2つの関係が必要です。
juju add-relation swift-proxy:swift-storage swift-storage:swift-storage
juju add-relation swift-proxy:identity-service keystone:identity-service
NTPの最後のコンポーネントはNTPクライアントであり、各クラウドノードの時刻を同期するために使用されます。これは、ntp関連のチャームを介して行われます
。
juju deploy ntp
次の関係では、各ceph-osdユニットの横にntpユニットが追加され、4つのクラウドノードのそれぞれに1つ追加されます。
juju add-relation ceph-osd:juju-info ntp:juju-info
最終結果とダッシュボードへのアクセス
すべてのアプリケーションがデプロイされ、それらの間の関係が追加されたら
、jujuステータスの出力を待つ必要があります。最終結果には、同様のエラーメッセージは表示されません。これは、成功したクラウド展開のサンプル出力(関係を含む)です。
OpenStackデプロイメントのマイルストーンの1つは、Horizonダッシュボードに初めてログインすることでした。IPアドレスと管理者パスワードが必要になります。
この方法でアドレスを取得します。
juju status --format=yaml openstack-dashboard | grep public-address | awk '{print $2}' | head -1
パスワードはKeystoneから照会されます。
juju run --unit keystone/0 leader-get admin_passwd
この例では、アドレスは「10.0.0.210」で、パスワードは「kohy6shoh3diWav5」です。
すると、ダッシュボードのURLは次のようになります。
http://10.0.0.210/horizon
これらの証明書は次のとおりです。
ドメイン:admin_domain
ユーザー名:admin
パスワード:kohy6shoh3diWav5 6shoh3diwav5
ログインすると、次のように表示されます。
コンソールへのアクセスを有効にします。
juju config nova-cloud-controller console-access-protocol=novnc
次のステップ
これで、JujuとMAASを使用してOpenStackが正常にデプロイされました。次のステップは、クラウド機能をユーザーに提示することです。これには、ネットワーク、イメージ、およびユーザー環境のセットアップが含まれます。次に、OpenStackの構成を入力します。