Installation et configuration d'OpenStack dans Oracle® Solaris 11.2

Quitter la vue de l'impression

Mis à jour : Avril 2015
 
 

Configuration du réseau externe dans OpenStack

Cette procédure explique comment créer un réseau virtuel qui représente un réseau externe. Sur ce réseau virtuel, le DHCP n'est pas utilisé. A la place, des adresses IP flottantes sont créées. Ces adresses IP flottantes sont affectées à un locataire spécifique et peuvent être affectées aux instances des instances de machine virtuelle Nova pour que leurs utilisateurs sous ce locataire puissent les utiliser.

Comme le contrôleur inclut le service Neutron dans l'architecture multinoeud de démonstration de ce chapitre, vous effectuez les étapes suivantes dans le noeud de contrôleur.

Avant de commencer

Pour exécuter cette procédure, des réseaux internes doivent déjà exister pour le locataire. Pour consulter les procédures de création d'un réseau privé, reportez-vous à la rubrique Création d'un réseau externe.

En outre, vous devez avoir terminé la configuration du commutateur virtuel élastique, notamment les propriétés l2-type et vlan-range. L'exemple suivant décrit comment afficher ces paramètres de propriété une fois que vous les avez configurés à l'Step 9 :

controller# evsadm show-controlprop -p l2-type -p vlan-range
PROPERTY   PERM  VALUE      DEFAULT  HOST
l2-type    rw    vlan       vlan     --
vlan-range rw    1,200-300  --       --

Vous devez également fournir les informations relatives au locataire dont vous connectez les réseaux privés au réseau externe. Vous pouvez afficher ces informations à tout moment à l'aide de la commande suivante :

keystone tenant-list

  1. Activez le filtre IP Solaris.
    controller# svcadm enable ipfilter
  2. Activez le transfert d'IP sur tout l'hôte.
    controller# ipadm set-prop -p forwarding=on ipv4
  3. Configurez les variables d'environnement adéquates.
    controller# export OS_USERNAME=neutron
    controller# export OS_PASSWORD=service-password
    controller# export OS_TENANT_NAME=service-name
    controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
  4. Créez le routeur de fournisseur.
    controller# neutron router-create router-name

    La commande affiche le nom du routeur avec le code correspondant. Utilisez ce code pour mettre à jour le fichier de configuration à l'étape suivante.

  5. Mettez à jour le fichier de configuration de l'agent L3.

    Dans le fichier /etc/neutron/l3_agent.ini, configurez la valeur du paramètre router_id avec l'identificateur unique universel du routeur à l'étape précédente.

    router_id = router-ID
  6. Activez le service SMF neutron-l3-agent.
    controller# svcadm enable neutron-l3-agent
  7. Créez un réseau externe.
    controller# neutron net-create --provider:network_type=vlan \
    --provider:segmentation_id=VLAN-nbr \
    --router:external=true network-name

    où la valeur de segmentation_id est le premier chiffre de la plage de VLAN.

  8. Créez un sous-réseau et associez-le au réseau externe.

    Pour l'exemple de configuration de ce document, DHCP est désactivé. Le pool d'allocation correspond à une plage d'adresses IP flottantes affectée au sous-réseau.

    controller# neutron subnet-create --enable-dhcp=false --name subnet-name \
    --allocation-pool start=start-IP, end=end-IP network-name subnet-IP
    
  9. Ajoutez le réseau externe au routeur.
    controller# neutron router-gateway-set router-ID network-ID \
    

    Remarque -  Vous pouvez récupérer router-ID dans le fichier /etc/neutron/l3_agent.ini. Au besoin, vous pouvez utiliser la commande neutron net-list pour récupérer network-ID.
  10. Ajoutez le réseau privé du locataire au routeur.

    Pour cette étape, vous devez vous munir du code du routeur et du code du sous-réseau du locataire. Vous pouvez obtenir ces informations comme suit :

    1. Pour récupérer le code du sous-réseau du locataire, affichez d'abord les locataires et leurs codes, puis les sous-réseaux du code du locataire concerné.
      # keystone tenant-list
      # neutron net-list --tenant-id tenant-ID
    2. Ajoutez le réseau privé au routeur.

      Répétez cette étape pour chaque réseau privé du locataire que vous voulez ajouter au réseau externe.

      controller# neutron router-interface-add router-ID subnet-ID
Exemple 4-2  Création du réseau externe pour le locataire service

L'exemple suivant utilise une partie de la Figure 3–3 comme référence. Dans la figure, le locataire Tenant A est associé à deux instances de machine virtuelle, chacune appartenant à un réseau privé. Les deux réseaux privés sont HR et ENG. Ces deux sous-réseaux seront ajoutés au réseau externe pour permettre aux deux instances de machine virtuelle de communiquer avec le réseau élargi. Dans cet exemple, le nom d'utilisateur et le mot de passe par défaut sont utilisés pour le service Neutron.

controller# svcadm enable ipfilter
controller# ipadm set-prop -p forwarding=on ipv4

controller# export OS_USERNAME=neutron
controller# export OS_PASSWORD=neutron
controller# export OS_TENANT_NAME=TenantA
controller# export OS_AUTH_URL=http://controller-name:5000/v2.0
controller# neutron router-create ext-router
Created a new router:
+-----------------------+-----------------+
| Field                 | Value           |
+-----------------------+-----------------+
| admin_state_up        | True            |
| external_gateway_info |                 |
| id                    | 97ro5-ut3er     |
| name                  | ext-router      |
| status                | ACTIVE          |
| tenant_id             | abcde12345      |
+-----------------------+-----------------+

A ce stade, mettez à jour le fichier /etc/neutron/l3_agent.ini en définissant le paramètre router_ID avec la valeur 97ro5-ut3er.

Après avoir modifié le fichier, poursuivez avec les étapes restantes.

controller# svcadm enable neutron-l3-agent

controller# neutron net-create --provider:network_type=vlan \
--provider:segmentation_id=1 --router:external=true ext_network
Created a new network:
+--------------------------+-------------------+
| Field                    | Value             |
+--------------------------+-------------------+
| admin_state_up           | True              |
| id                       | 555ext-net555     |
| name                     | ext_network       |
| provider:network_type    | vlan              |
| provider:segmentation_id | 1                 |
| router:external          | True              |
| shared                   | False             |
| status                   | ACTIVE            |
| subnets                  |                   |
| tenant_id                | abcde12345        |
+--------------------------+-------------------+

controller# neutron subnet-create  --enable-dhcp=False \
--name ext_subnet --allocation-pool start=10.134.13.8,end=10.134.13.254 \
ext_network 10.134.13.0/24
Created a new subnet:

+------------------+--------------------------------------------------+
| Field            | Value                                            |
+------------------+--------------------------------------------------+
| allocation_pools | {"start": "10.134.13.8", "end": "10.134.13.254"} |
| cidr             | 10.134.13.0/24                                   |
| dns_nameservers  |                                                  |
| enable_dhcp      | False                                            |
| gateway_ip       | 10.134.13.1                                      |
| host_routes      |                                                  |
| id               | 444sub-net444                                    |
| ip_version       | 4                                                |
| name             | ext_subnet                                       |
| network_id       | 555ext-net555                                    |
| tenant_id        | abcde12345                                       |
+------------------+--------------------------------------------------+

controller# neutron router-gateway-set 97ro5-ut3er 555ext-net555
Set gateway for router 97ro5-ut3er

controller# keystone tenant-list
+------------+---------+---------+
|     id     |   name  | enabled |
+------------+---------+---------+
| 12345abcde | TenantA |  True   |
| 67890fghij | TenantB |  True   |
+------------+---------+---------+

controller# neutron net-list --tenant-id 12345abcde
+------------+------+-------------+
|     id     | name |   subnets   |
+------------+------+-------------+
| 1a3b5c7d9e | HR   | xyz-123-uvw |
| 2f4g6h8i0j | ENG  | 098-r2d2-56 |
+------------+------+-------------+

controller# neutron router-interface-add 97ro5-ut3er xyz-123-uvwHR added to the router.
Added interface xyz-123-uvw to router 97ro5-ut3er.

controller# neutron router-interface-add 97ro5-ut3er 098-r2d2-56ENG added to the router.
Added interface 098-r2d2-56 to router 97ro5-ut3er.

Voir aussi