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
      
    • Créer la base de données neutron :

      MariaDB [(none)] CREATE DATABASE neutron;
      
    • Attribuer les bons droits d’accès à la base de données neutron, en remplaçant NEUTRON_DBPASS par un mot de passe approprié :

      MariaDB [(none)]> GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' \
        IDENTIFIED BY 'NEUTRON_DBPASS';
      MariaDB [(none)]> 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 :

    $ . admin-openrc
    
  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                  | fdb0f541e28141719b6a43c8944bf1fb |
      | name                | neutron                          |
      | options             | {}                               |
      | password_expires_at | None                             |
      +---------------------+----------------------------------+
      
    • 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 endpoints 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 (externes). Pas de réseaux self-service (privés), 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 self-services. L’utilisateur demo ou tout autre utilisateur sans privilège peut gérer des réseaux self-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 self-service à partir de réseaux externes comme Internet.

Les réseaux self-services utilisent en général les réseaux superposés. Les protocoles de réseaux superposés, comme VXLAN inclut une entête supplémentaire qui augmente le coût et diminue l’espace disponible pour la charge utile ou les données utilisateur. Sans connaissance de l’infrastructure de réseau virtuel, les instances tentent d’envoyer les paquets en utilisant le maximum transmission unit (MTU) Ethernet par défaut de 1500 octets. Le service de Réseau fournit automatiquement la valeur de MTU correcte aux instances via le DHCP. Cependant, certaines images cloud n’utilisent pas le DHCP ou ignorent l’option MTU du DHCP et nécessitent donc une configuration en utilisant les metadata ou un script.

Note

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

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.

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

    • Dans la section [DEFAULT], configurer le host de metadata et le secret partagé :

      [DEFAULT]
      # ...
      nova_metadata_ip = controller
      metadata_proxy_shared_secret = METADATA_SECRET
      

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

Configurer le service Compute pour utiliser le service 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_type = password
      project_domain_name = default
      user_domain_name = 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 deux options de mise en réseau :

    # service neutron-server restart
    # service neutron-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
    
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.