Help us improve your experience.

Let us know what you think.

Do you have time for a two-minute survey?

 
 

OpenStackとKolla Ansibleを使用したContrailのインストール

メモ:

ほとんどの Contrail Networking 導入環境では、Contrail コマンドを使用して既存の Contrail クラスターに計算ノードを追加することをお勧めします。「Contrail コマンドを使用して既存の Contrail クラスターに新しいコンピューティング ノードを追加する」を参照してください。

このドキュメントの手順は、Contrail Command GUI を使用していない環境で、YAML ファイルの専門知識を持つネットワーク管理者のみが実行してください。

このトピックの目的は、Kolla Ansible プレイブック contrail-kolla-ansibleを使用して、OpenStack で Contrail Networking をインストールすることです。

Kolla は OpenStack プロジェクトで、OpenStack サービス用のコンテナイメージを構築するためのツールを提供しています。Kolla Ansible では、Kolla イメージをデプロイするための Ansible プレイブックを提供しています。

このプレイブックは contrail-kolla-ansible 、OpenStackコンテナとContrail Networkingコンテナのインストールと連携 contrail-ansible-deployer して機能します。

Contrail コマンドを使用して Contrail クラスターを導入するには、『Contrail Command および instances.yml を使用した Contrail クラスターのインストール 』を参照してください。

を使用して Kolla コンテナcontrail-kolla-ansiblecontrail-ansible-deployerを導入するには、次の手順に従います。

ベース ホストの設定

CentOSとカーネルバージョンを更新します。サポートされているプラットフォームの一覧については、「 https://www.juniper.net/documentation/en_US/release-independent/contrail/topics/reference/contrail-supported-platforms.pdf」を参照してください。

vRouter は、ホスト カーネルに依存しています

ベース・ホストをセットアップするには:

  1. ContrailのダウンロードページからAnsible Deployerインストーラパッケージをダウンロードします。

  2. Ansibleをインストールします。

    yum -y install epel-release

    yum -y install git ansible-2.7.10

  3. python-pipをインストールします。

    yum install -y python-pip

  4. 次のコマンドを実行します。

    yum -y remove PyYAML python-requests

    pip install PyYAML requests

  5. tgz ファイルを解凍します。

    - tar xvf contrail-ansible-deployer-19<xx>.<NN>.tgz

    instances.yaml はcontrail-ansible-deployer/config/ にあります。

  6. 以下のガイドラインを使用して、 instance.yaml ファイルで Contrail と Kolla のパラメーターを設定します。

    • プロバイダー構成 (provider_config) セクションは、Contrail クラスターがホストされるクラウドプロバイダーを参照し、プロバイダーに関連するすべてのパラメーターが含まれています。ベア・メタル・サーバの場合、プロバイダは bmsです。

    • このセクションでは kolla_globals 、OpenStack サービスについて説明します。可能な kolla_globalsすべての詳細については、「 https://github.com/Juniper/contrail-kolla-ansible/.../globals.yml」を参照してください。

    • 追加の Kolla 設定 (contrail-kolla-ansible) は として可能です contrail_additions。Kollaに可能な contrail_additions すべての詳細については、 https://github.com/Juniper/contrail-kolla-ansible/.../all.yml を参照してください。

    • contrail_configurationこのセクションには、Contrail サービスのパラメーターが含まれています。

      • CONTAINER_REGISTRY Contrail コンテナのプル元となるレジストリを指定します。独自のコンテナーを構築する場合は、ローカルの Docker レジストリに設定できます。レジストリが指定されていない場合は、Docker ハブからコンテナーをプルしようとします。

        カスタム レジストリを指定する場合は、 の下にkolla_globalscontrail_docker_registry同じレジストリを指定します。

      • CONTRAIL_VERSIONを指定しない場合、デフォルトで「最新」タグになります。

      • に使用できるすべてのパラメータ contrail_configurationの詳細については 、https://github.com/tungstenfabric/tf-container-builder/blob/master/containers/base/common.sh を参照してください。

      • instance.yaml ファイルで を指定する必要がありますroles。そうしないと、インストール手順が失敗します。

      • ホストごとにホスト固有の値がある場合、たとえば、「network_interface」に使用されるインターフェイスの名前がクラスター内のサーバーによって異なる場合は、 マルチノード OpenStack HA および Contrail(マルチインターフェイス)の設定サンプルの設定例を使用してください。

      • パラメーターの多くは、適切なデフォルト (最初の構成のしくみ) に自動的に導出されます。必要に応じて、変数を明示的に指定して、派生値をオーバーライドできます。コードを確認して、派生ロジックを確認します。

    例: instances.yaml

    この例は、単一ノード、単一インターフェイス、オールインワンクラスターの最低限の設定です。

    例: instances.yaml

    この例は、単一ノード、単一インターフェイス、オールインワンクラスター向けのより複雑な構成です。

  7. フォルダーから contrail-ansible-deployer 次のコマンドを実行します。

    • ansible-playbook -e orchestrator=openstack -i inventory/ playbooks/configure_instances.yml

    • ansible-playbook -i inventory/ playbooks/install_openstack.yml

    • ansible-playbook -e orchestrator=openstack -i inventory/ playbooks/install_contrail.yml

  8. Web ブラウザーを開き 、「https://contrail-server-ip:8143 」と入力して Contrail Web UI にアクセスします。

    デフォルトのログイン・ユーザー名は adminです。手順 6 で入力したのと同じパスワードを使用します。

マルチノード OpenStack HA および Contrail 向けのマルチインターフェイス設定サンプル

これは、高可用性 OpenStack と Contrail Networking のマルチインターフェイス、マルチノード導入のための設定サンプルです。このサンプルを使用して、システムに固有のパラメーターを構成します。

詳細または最新の更新については、githubのトピック「マルチノードOpenStack HAおよびContrail(マルチインターフェイス)の設定サンプル」を参照してください。

設定サンプル - 複数インターフェイス

マルチノード OpenStack HA および Contrail の単一インターフェイス設定サンプル

これは、高可用性、OpenStack、Contrail Networkingのマルチノード、シングルインターフェイス導入用の設定サンプルです。このサンプルを使用して、システムに固有のパラメーターを構成します。

詳細または最近の更新については、githubのトピック「マルチノードOpenStack HAおよびContrail(シングルインターフェイス)の設定例」を参照してください。

設定例 - シングル インターフェイス

メモ:

ご使用の Contrail リリースの正しいcontrail_container_tag値に置き換え<contrail_version>てください。それぞれのcontrail_container_tag値は、Contrailレジストリ19XXへのREADMEアクセスに記載されています。

よくあるご質問

このセクションでは、いくつかの一般的なエラー状況を示し、エラー状態を解決する方法に関するガイダンスを提供します。

ホスト固有のパラメータの使用

クラスタ内のサーバによってインターフェイス名が異なるなど、ホスト固有のパラメータを指定する必要がある場合があります。この場合、各ロールの下に個別の名前を指定すると、より具体的な設定が優先されます。

たとえば、ロール "openstack" の下に "network_interface" 設定 (例: "bms1") がない場合、グローバル変数からその設定を取得します。

拡張例については、「 マルチノード OpenStack HA および Contrail の設定例」を参照してください。

プライベートレジストリからのコンテナにアクセスできません

  1. CONTAINER_REGISTRY という名前のプライベート・レジストリーからプルされたコンテナーにアクセスできない状況が発生する場合があります。

  2. 解決するには、REGISTRY_PRIVATE_INSECURE が True に設定されていることを確認します。

エラー: vrouter カーネル モジュールの挿入に失敗しました

  1. vrouter モジュールが計算ノードにインストールされず、vrouter コンテナーがエラー状態になり、エラーが Docker ログに表示される状況が発生する場合があります。

  2. このリリースでは、vrouter モジュールを使用するには、ホストカーネルのバージョンが 3.10.0-957.11.6.el7.x86_64 である必要があります。このカーネルバージョンを取得するには、プロビジョニングを実行する前に、ターゲットノードにカーネルバージョンをインストールします。

vrouter が OpenStack を指定しない場合の致命的なエラー

  1. nova-compute なしで vrouter をプロビジョニングする必要がある場合、致命的なエラーが発生することがあります。

  2. vrouter を nova-compute を伴わずにプロビジョニングする必要があるユースケースがあります。したがって、「vrouter」ロールが指定されている場合、「openstack_compute」は自動的に推論されません。この問題を解決するには、"vrouter" と共に "openstack_compute" ロールを明示的に指定する必要があります。

    このユースケースの詳細については、バグ #1756133 を参照してください。

単一のOpenStackクラスターでのHAProxyと仮想IPの必要性

デフォルトでは、すべての OpenStack サービスは、config/instances.yaml のセクションの下にあるkolla_globals変数によって提供される kolla_internal_vip_address/network_interface IP インターフェイスでリッスンします。ほとんどの場合、これは ctrl-data ネットワークに対応しているため、Horizon でさえ ctrl-data ネットワークでのみ実行されるようになります。Kolla が管理ネットワーク上の Horizon へのアクセスを提供する唯一の方法は、HAProxy とキープアライブを使用することです。キープアライブを有効にするには、VRRP の仮想 IP が必要であり、インターフェイス IP にすることはできません。Kolla 構成パラメーターを使用する場合、キープアライブを有効にせずに HAProxy を有効にする方法はありません。このため、管理()とctrl-data-network(kolla_external_vip_addresskolla_internal_vip_address)の2つの仮想IPアドレスを指定する必要があります。この設定により、管理ネットワークkolla_external_vip_address上で Horizon に .

kolla_toolboxコンテナを使用した OpenStack コマンドの実行

OpenStack コンテナが実行されているベースホスト上のディレクトリ/etc/kolla/kolla-toolboxがマウントされ、kolla_toolboxコンテナ内から として/var/lib/kolla/config_filesアクセスできます。OpenStack コマンドの実行時に他のファイルが必要な場合 (コマンドopenstack image createにイメージファイルが必要な場合など) は、関連するファイルをベースホストのディレクトリに/etc/kolla/kolla-toolboxコピーして、コンテナ内で使用できます。

以下の例は、この方法で OpenStack コマンドを実行する方法を示しています。