Installer et configurer le nœud contrôleur

Installer et configurer le nœud contrôleur

Pré-requis

Avant de configurer le service Réseau d’OpenStack (neutron), vous devez créer une base de données, des credentials de service, et des endpoints API.

  1. Pour créer la base de données, compléter ces étapes :

    • Utiliser le client d’accès à la base de données pour se connecter au serveur de base en tant qu’utilisateur root:

      $ mysql -u root -p
      
    • Créer la base de données neutron:

      CREATE DATABASE neutron;
      
    • Attribuer l’accès à la base de données neutron, en remplaçant NEUTRON_DBPASS par un mot de passe approprié:

      GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
        IDENTIFIED BY 'NEUTRON_DBPASS';
      GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' \
        IDENTIFIED BY 'NEUTRON_DBPASS';
      
    • Quitter l’accès client de la base de données.

  2. Sourcer les accréditations admin pour obtenir l’accès aux commandes en ligne spécial-admin:

    $ source admin-openrc.sh
    
  3. Pour créer les credentials du service, suivre les étapes suivantes:

    • Créer l’utilisateur 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                          |
      +-----------+----------------------------------+
      
    • Ajouter le rôle admin à l’utilisateur neutron:

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

      Note

      Cette commande ne produit aucune sortie.

    • Créer l’entité de service neutron:

      $ openstack service create --name neutron \
        --description "OpenStack Networking" network
      +-------------+----------------------------------+
      | Field       | Value                            |
      +-------------+----------------------------------+
      | description | OpenStack Networking             |
      | enabled     | True                             |
      | id          | f71529314dab4a4d8eca427e701d209e |
      | name        | neutron                          |
      | type        | network                          |
      +-------------+----------------------------------+
      
  4. Créer les points de terminaison API pour le service réseau:

    $ 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           |
    +--------------+----------------------------------+
    

Configurer les options réseau

Vous pouvez déployer le service Réseau en utilisant l’une des deux architectures représentées par les options 1 et 2.

L’option 1 déploie l’architecture la plus simple possible qui supporte uniquement d’attacher les instances en direct aux réseaux (fournisseurs) publics. Pas de réseaux libre-service, routeurs, ou adresses IP flottantes. Seul l’utilisateur admin ou tout autre utilisateur à privilège peut gérer les réseaux fournisseurs.

L’option 2 ajoute à l’option 1 des services de couche-3 qui supporte l’attachement des instances à des réseaux (privés) libre-service. L’utilisateur demo ou tout autre utilisateur sans privilège peut gérer des réseaux libre-service incluant les routeurs qui fournissent la connectivité entre les réseaux self-service et fournisseur. De plus, des adresses IP flottantes fournissent la connectivité aux instances utilisant les réseaux libre-service à partir de réseaux externes comme Internet.

Note

L’option 2 supporte également le rattachement d’instances aux réseaux (fournisseurs) publics.

Choisir une des options réseau suivantes pour configurer les services qui lui sont spécifiques. Ensuite, revenir ici et poursuivre à Configurer l’agent metadata.

Configurer l’agent metadata

L’agent metadata fournit les informations de configuration comme les credentials aux instances.

  • Editer le fichier /etc/neutron/metadata_agent.ini et effectuer les modifications suivantes:

    • Dans la section [DEFAULT], configurer les paramètres d’accès:

      [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
      

      Remplacer NEUTRON_PASS par le mot de passe choisi pour l’utilisateur neutron dans le service d’Identité.

    • Dans la section [DEFAULT], configurer le host metadata:

      [DEFAULT]
      ...
      nova_metadata_ip = controller
      
    • Dans la section [DEFAULT], configurer le secret partagé du proxy metadata:

      [DEFAULT]
      ...
      metadata_proxy_shared_secret = METADATA_SECRET
      

      Remplacer METADATA_SECRET par un secret approprié pour le proxy metadata.

    • (Optionnel) Pour faciliter la résolution des problèmes, activer la verbosité des logs dans la section [DEFAULT] :

      [DEFAULT]
      ...
      verbose = True
      

Configurer Compute pour utiliser le réseau

  • Éditer le fichier /etc/nova/nova.conf et effectuer les modifications suivantes:

    • Dans la section [neutron], configurer les paramètres d’accès, activer le proxy metadata, et configurer le secret:

      [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
      

      Remplacer NEUTRON_PASS par le mot de passe choisi pour l’utilisateur neutron dans le service d’Identité.

      Remplacer METADATA_SECRET par le secret choisi pour le proxy metadata.

Finaliser l’installation

  1. Peupler la base de données:

    # su -s /bin/sh -c "neutron-db-manage --config-file /etc/neutron/neutron.conf \
      --config-file /etc/neutron/plugins/ml2/ml2_conf.ini upgrade head" neutron
    

    Note

    Le remplissage de la base de données a lieu plus tard pour le service Réseau parce que le script a besoin des fichiers de configuration complets pour le serveur et les plugin.

  2. Redémarrer le service d’API Compute

    # service nova-api restart
    
  3. Redémarrer les services réseau:

    Pour les 2 options de mise en réseau:

    # service neutron-server restart
    # service neutron-plugin-linuxbridge-agent restart
    # service neutron-dhcp-agent restart
    # service neutron-metadata-agent restart
    

    Pour le Réseau option 2, redémarrer également le service layer-3.

    # service neutron-l3-agent restart
    
  1. Par défaut, les packages Ubuntu créent une base de données SQLite.

    Comme cette configuration utilise un serveur de base de données SQL, le fichier de base de données SQLite peut être supprimé:

    # rm -f /var/lib/neutron/neutron.sqlite
    
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.