マルチノードOpenStackCharmsデプロイメントガイド0.0.1.dev223--4-openstackをインストールします

内容:
セクション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 deployjuju add-unitjuju 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

これは、前のセクションで設定したクラウドデータベースに接続する最初のアプリケーションです。プロセスは次のとおりです。

  1. mysqlルーター(スレーブ)のアプリケーション固有のインスタンスを作成します
  2. mysqlルーターインスタンスとデータベースの間に関係を追加します
  3. アプリケーションと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つのアプリケーションがあります。

  1. 中性子API
  2. 中性子-api-プラグイン-オーブン(従属)
  3. オーブン中央
  4. 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アプリケーション(Horizo​​n)は、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つは、Horizo​​nダッシュボードに初めてログインすることでした。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/horizo​​n

これらの証明書は次のとおりです。

ドメイン:admin_domain
ユーザー名:admin
パスワード:kohy6shoh3diWav5 6shoh3diwav5

ログインすると、次のように表示されます。
ここに画像の説明を挿入
コンソールへのアクセスを有効にします。

juju config nova-cloud-controller console-access-protocol=novnc

次のステップ

これで、JujuとMAASを使用してOpenStackが正常にデプロイされました。次のステップは、クラウド機能をユーザーに提示することです。これには、ネットワーク、イメージ、およびユーザー環境のセットアップが含まれます。次に、OpenStackの構成を入力します。

おすすめ

転載: blog.csdn.net/m0_49212388/article/details/109308899