コントローラーノードのインストールと設定

コントローラーノードのインストールと設定

前提条件

OpenStack Networking (neutron) サービスを設定する前に、データベース、サービスクレデンシャル、API エンドポイントを作成する必要があります。

  1. データベースを作成するには、これらの手順をすべて実行します。

    • データベースクライアントを使用して、データベースサーバーに root ユーザーとして接続します。

      $ mysql -u root -p
      
    • neutron データベースを作成します。

      CREATE DATABASE neutron;
      
    • neutron データベースに適切なアクセス権を付与します。NEUTRON_DBPASS を適切なパスワードで置き換えます。

      GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
        IDENTIFIED BY 'NEUTRON_DBPASS';
      GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
        IDENTIFIED BY 'NEUTRON_DBPASS';
      
    • データベースクライアントを終了します。

  2. admin クレデンシャルを読み込み、管理者専用 CLI コマンドへのアクセス権を取得します。

    $ source admin-openrc.sh
    
  3. 以下の手順を実行して、サービスクレデンシャルを作成します。

    • neutron ユーザーを作成します。

      $ openstack user create --domain default --password-prompt neutron
      User Password:
      Repeat User Password:
      +-----------+----------------------------------+
      | Field     | Value                            |
      +-----------+----------------------------------+
      | domain_id | default                          |
      | enabled   | True                             |
      | id        | b20a6692f77b4258926881bf831eb683 |
      | name      | neutron                          |
      +-----------+----------------------------------+
      
    • admin ロールを neutron ユーザーに追加します。

      $ openstack role add --project service --user neutron admin
      

      注釈

      このコマンドは何も出力しません。

    • neutron サービスエンティティーを作成します。

      $ openstack service create --name neutron \
        --description "OpenStack Networking" network
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Networking             |
      | enabled     | True                             |
      | id          | f71529314dab4a4d8eca427e701d209e |
      | name        | neutron                          |
      | type        | network                          |
      +-------------+----------------------------------+
      
  4. Networking サービス API エンドポイントを作成します。

    $ openstack endpoint create --region RegionOne \
      network public http://controller:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 85d80a6d02fc4b7683f611d7fc1493a3 |
    | interface    | public                           |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | f71529314dab4a4d8eca427e701d209e |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://controller:9696           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      network internal http://controller:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 09753b537ac74422a68d2d791cf3714f |
    | interface    | internal                         |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | f71529314dab4a4d8eca427e701d209e |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://controller:9696           |
    +--------------+----------------------------------+
    
    $ openstack endpoint create --region RegionOne \
      network admin http://controller:9696
    +--------------+----------------------------------+
    | Field        | Value                            |
    +--------------+----------------------------------+
    | enabled      | True                             |
    | id           | 1ee14289c9374dffb5db92a5c112fc4e |
    | interface    | admin                            |
    | region       | RegionOne                        |
    | region_id    | RegionOne                        |
    | service_id   | f71529314dab4a4d8eca427e701d209e |
    | service_name | neutron                          |
    | service_type | network                          |
    | url          | http://controller:9696           |
    +--------------+----------------------------------+
    

ネットワークのオプションの設定

Networking サービスは、オプション 1 と 2 の 2 つのアーキテクチャーのいずれかを使ってデプロイできます。

オプション 1 は、可能な限り最も単純なアーキテクチャーをデプロイします。パブリック (プロバイダー) ネットワークへのインスタンスの接続のみに対応します。セルフサービスのネットワークやルーター、Floating IP アドレスはサポートされません。 admin や他の特権ユーザーだけがプロバイダーネットワークを管理できます。

オプション 2 は、オプション 1 にレイヤー 3 サービスを組み合わせたもので、セルフサービス (プライベート) ネットワークへのインスタンスの接続をサポートします。 demo や他の非特権ユーザーがセルフサービスネットワークを管理し、それにはセルフサービスネットワークやプロバイダーネットワークの間の接続性を提供するルーターも含まれます。また、 Floating IP アドレスにより、セルフサービスネットワークに接続されたインスタンスへの、インターネットなどの外部ネットワークからの接続性が提供されます。

注釈

オプション 2 では、パブリック (プロバイダー) ネットワークへのインスタンスの接続もサポートされます。

以下のネットワークオプションのいずれかを選択して、サービスをオプションに応じて設定します。その後、ここに戻り、 メタデータエージェントの設定 に進んでください。

メタデータエージェントの設定

メタデータエージェント は、クレデンシャルなどの設定情報をインスタンスに提供します。

  • /etc/neutron/metadata_agent.ini ファイルを編集し、以下の作業をすべて行います。

    • [DEFAULT] セクションに、アクセスパラメーターを設定します。

      [DEFAULT]
      ...
      auth_uri = http://controller:5000
      auth_url = http://controller:35357
      auth_region = RegionOne
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      project_name = service
      username = neutron
      password = NEUTRON_PASS
      

      NEUTRON_PASS を Identity サービスにおいて neutron ユーザー用に選択したパスワードで置き換えます。

    • [DEFAULT] セクションに、メタデータホストを設定します。

      [DEFAULT]
      ...
      nova_metadata_ip = controller
      
    • [DEFAULT] セクションに、メタデータプロキシーの共有シークレットを設定します。

      [DEFAULT]
      ...
      metadata_proxy_shared_secret = METADATA_SECRET
      

      METADATA_SECRET はメタデータプロキシー用に適切なシークレットで置き換えます。

    • (オプション) トラブルシューティングしやすくするために、冗長ロギングを [DEFAULT] セクションで有効にします。

      [DEFAULT]
      ...
      verbose = True
      

Networking を使用するための Compute の設定

  • /etc/nova/nova.conf ファイルを編集し、以下の作業をすべて行います。

    • [neutron] セクションに、アクセス用のパラメーターを設定し、メタデータプロキシーを有効にし、シークレットを設定します。

      [neutron]
      ...
      url = http://controller:9696
      auth_url = http://controller:35357
      auth_plugin = password
      project_domain_id = default
      user_domain_id = default
      region_name = RegionOne
      project_name = service
      username = neutron
      password = NEUTRON_PASS
      
      service_metadata_proxy = True
      metadata_proxy_shared_secret = METADATA_SECRET
      

      NEUTRON_PASS を Identity サービスにおいて neutron ユーザー用に選択したパスワードで置き換えます。

      METADATA_SECRET はメタデータプロキシ用に選択した適切なシークレットで置き換えます。

インストールの最終作業

  1. Networking のサービス初期化スクリプトは、/etc/sysconfig/neutron ファイルの NEUTRON_PLUGIN_CONF 変数が ML2 プラグイン設定ファイルを参照していることを期待します。/etc/sysconfig/neutron ファイルを編集し、以下を追加します。

    NEUTRON_PLUGIN_CONF="/etc/neutron/plugins/ml2/ml2_conf.ini"
    
  2. Compute API サービスを再起動します。

    # systemctl restart openstack-nova-api.service
    
  3. Networking サービスを起動し、システム起動時に起動するよう設定します。

    どちらのネットワークオプションの場合も、以下を行います。

    # systemctl enable openstack-neutron.service \
      openstack-neutron-linuxbridge-agent.service \
      openstack-neutron-dhcp-agent.service \
      openstack-neutron-metadata-agent.service
    # systemctl start openstack-neutron.service \
      openstack-neutron-linuxbridge-agent.service \
      openstack-neutron-dhcp-agent.service \
      openstack-neutron-metadata-agent.service
    

    ネットワークオプション 2 の場合、L3 サービスも有効にして起動します。

    # systemctl enable openstack-neutron-l3-agent.service
    # systemctl start openstack-neutron-l3-agent.service
    
Creative Commons Attribution 3.0 License

Except where otherwise noted, this document is licensed under Creative Commons Attribution 3.0 License. See all OpenStack Legal Documents.