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 crédentiels de service et des endpoints API.

  1. Pour créer la base de données, réalisez les étapes suivantes :

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

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

      CREATE DATABASE neutron;
      
    • Attribuer les droits d’accès nécessaires à 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 le client d’accès à la base de données.

  2. Sourcer les crédentiels admin pour accéder aux commandes en ligne réservées à l’administrateur :

    $ . admin-openrc
    
  3. Pour créer les crédentiels du service, réalisez 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 | e0353a670a9e496da891347c589539e9 |
      | 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 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 les instances directement attachées aux réseaux fournisseur (externes). Pas de réseaux libre-service (privés), pas routeurs, pas adresses IP flottantes. Seul l’utilisateur admin ou tout autre utilisateur à privilèges peut gérer les réseaux fournisseurs.

L’option 2 ajoute à l’option 1 des services layer-3 qui supporte l’attachement des instances à des réseaux 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 libre-service et les réseaux fournisseur. De plus, des adresses IP flottantes fournissent la connectivité aux instances des réseaux libre-service à partir de réseaux externes comme Internet.

Les réseaux libre-service utilisent en général les réseaux de recouvrement. Les protocoles de réseaux de recouvrement comme VXLAN incluent des entêtes supplémentaires qui augmentent le poids et diminuent 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 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 une configuration en utilisant les metadata ou un script.

Note

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

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 aux instances les informations de configuration comme les crédentiels.

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

    • Dans la section [DEFAULT], configurer l’hôte 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 Compute pour utiliser le réseau

  • Éditer le fichier /etc/nova/nova.conf et effectuer les actions 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. Les scripts d’initialisation du service Réseau s’attendent à trouver un lien symbolique /etc/neutron/plugin.ini pointant vers le fichier de configuration du plugin ML2, /etc/neutron/plugins/ml2/ml2_conf.ini. Si ce lien symbolique n’existe pas, le créer à l’aide de la commande suivante :

    # ln -s /etc/neutron/plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
    
  2. 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

    La population de la base de données a lieu plus tard pour le service Réseau car le script a besoin des fichiers de configuration complets pour le serveur et les plugins.

  3. Redémarrer le service d’API Compute :

    # systemctl restart openstack-nova-api.service
    
  4. Démarrer les services Réseau et les configurer pour être lancés au démarrage du système :

    Pour les deux options Réseau :

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

    Pour le Réseau option 2, activer également et démarrer le service layer-3 :

    # systemctl enable neutron-l3-agent.service
    # systemctl start 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.