GNU/Linux >> Tutoriels Linux >  >> Ubuntu

OpenStack Liberty sur Ubuntu 14.04 - Configurer Neutron

Neutron est l'un des composants importants d'OpenStack, il nous permet de créer ou d'attacher un périphérique d'interface aux réseaux, suivez ce guide pour configurer Neutron (Réseau) dans votre environnement. Neutron gère tous les éléments liés au réseau dont nous avons besoin pour l'infrastructure de réseau virtuel, il fournit les réseaux, les sous-réseaux et les abstractions d'objets de routeur.

Nous devons choisir l'une des options de réseau suivantes pour poursuivre la configuration d'OpenStack.

Option 1 de mise en réseau :réseaux de fournisseurs
Option 2 de mise en réseau :réseaux en libre-service

Pour en savoir plus, cliquez ici.

Ici, nous allons utiliser les réseaux en libre-service.

Installer et configurer le nœud du contrôleur :

Avant de configurer le service Neutron, nous devons créer une base de données, un service et un point de terminaison API. Pour ce faire, connectez-vous en tant que root au serveur MySQL.

# mysql -u root -p

Créez la base de données de neutrons.

CREATE DATABASE neutron;

Accordez une autorisation appropriée à la base de données de neutrons.

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'localhost' IDENTIFIED BY 'password';

GRANT ALL PRIVILEGES ON neutron.* TO 'neutron'@'%' IDENTIFIED BY 'password';

Remplacez "mot de passe ” avec un mot de passe approprié. Quittez MySQL.

Chargez vos informations d'identification d'administrateur à partir du script d'environnement.

# source admin-openrc.sh

Créez l'utilisateur neutron pour la création d'informations d'identification de service.

# openstack user create --password-prompt neutron
User Password:
Repeat User Password:
+-----------+----------------------------------+
| Field     | Value                            |
+-----------+----------------------------------+
| domain_id | default                          |
| enabled   | True                             |
| id        | 91c75b24ce324309891f6a4ea8b33887 |
| name      | neutron                          |
+-----------+----------------------------------+

Ajoutez le rôle d'administrateur à l'utilisateur neutron.

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

Créez l'entité de service neutronique.

# openstack service create --name neutron --description "OpenStack Neutron" network
+-------------+----------------------------------+
| Field       | Value                            |
+-------------+----------------------------------+
| description | OpenStack Neutron                |
| enabled     | True                             |
| id          | 1834077666c54c93821c95a03fa853a1 |
| name        | neutron                          |
| type        | network                          |
+-------------+----------------------------------+

Créez le point de terminaison de l'API du service neutron.

# openstack endpoint create --region RegionOne network public http://controller:9696
+--------------+----------------------------------+
| Field        | Value                            |
+--------------+----------------------------------+
| enabled      | True                             |
| id           | c145840a76004e6d9e4bdccfb3603e84 |
| interface    | public                           |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 1834077666c54c93821c95a03fa853a1 |
| 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           | d2305c57e55341fcbfbc1bd91c4d6378 |
| interface    | internal                         |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 1834077666c54c93821c95a03fa853a1 |
| 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           | 2dadc6ded42a4db3bf217d1abad22f15 |
| interface    | admin                            |
| region       | RegionOne                        |
| region_id    | RegionOne                        |
| service_id   | 1834077666c54c93821c95a03fa853a1 |
| service_name | neutron                          |
| service_type | network                          |
| url          | http://controller:9696           |
+--------------+----------------------------------+

Installez et configurez les composants réseau sur le nœud du contrôleur :

# apt-get install neutron-server neutron-plugin-ml2  neutron-plugin-linuxbridge-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent python-neutronclient conntrack

Modifiez le fichier /etc/neutron/neutron.conf.

# nano /etc/neutron/neutron.conf

Modifiez les paramètres ci-dessous et assurez-vous de placer une entrée dans les sections appropriées.

[DEFAULT]
...
core_plugin = ml2
service_plugins = router
allow_overlapping_ips = True
rpc_backend = rabbit
auth_strategy = keystone
notify_nova_on_port_status_changes = True
notify_nova_on_port_data_changes = True
nova_url = http://controller:8774/v2
verbose = True

## Replace "controller" with hostname of openstack controller

[oslo_messaging_rabbit]
...
rabbit_host = controller
rabbit_userid = openstack
rabbit_password = password

## Replace "password" with the password you chose for the openstack account in RabbitMQ
## Replace "controller" with hostname of openstack controller

[database]
...
connection = mysql+pymysql://neutron:password@controller/neutron

## Replace "password" with the password you chose for neutron database
## Commentout any other MySQL connections

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

## Replace "password" with the password you chose for neutron user in the identity service.
## Commentout other authentication details.

[nova]
...
auth_url = http://controller:35357
auth_plugin = password
project_domain_id = default
user_domain_id = default
region_name = RegionOne
project_name = service
username = nova
password = password

## Replace "password" with the password you chose for nova user in the identity service.

Configurer le plug-in de couche 2 modulaire (ML2) :

Editez le fichier /etc/neutron/plugins/ml2/ml2_conf.ini

# nano /etc/neutron/plugins/ml2/ml2_conf.ini

Modifiez les strophes suivantes.

[ml2]
...
type_drivers = flat,vlan,vxlan
tenant_network_types = vxlan
mechanism_drivers = linuxbridge,l2population
extension_drivers = port_security
[ml2_type_flat]
...
flat_networks = public

[ml2_type_vxlan]
...
vni_ranges = 1:1000

[securitygroup]
...
enable_ipset = True

Configurez l'agent de pont Linux :

Pour configurer l'agent de pont Linux, modifiez /etc/neutron/plugins/ml2/linuxbridge_agent.ini sur le nœud du contrôleur.

# nano /etc/neutron/plugins/ml2/linuxbridge_agent.ini

Effectuez les modifications sur le fichier comme ci-dessous.

[linux_bridge]

physical_interface_mappings = public:eth1

## Replace "eth1" with the name of the physical public facing network interface.

[vxlan]

enable_vxlan = True
local_ip = 192.168.12.21
l2_population = True

## Replace "192.168.12.21" with the management ip-address of the controller.

[agent]
...
prevent_arp_spoofing = True

[securitygroup]
...
enable_security_group = True
firewall_driver = neutron.agent.linux.iptables_firewall.IptablesFirewallDriver

Configurez l'agent de couche 3 :

Editez le fichier /etc/neutron/l3_agent.ini

# nano /etc/neutron/l3_agent.ini

Modifiez le fichier comme ci-dessous.

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
external_network_bridge =
verbose = True

Configurer l'agent DHCP :

Modifiez le fichier /etc/neutron/dhcp_agent.ini.

# nano /etc/neutron/dhcp_agent.ini

Apportez les modifications pertinentes au fichier comme ci-dessous.

[DEFAULT]
...
interface_driver = neutron.agent.linux.interface.BridgeInterfaceDriver
dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq
enable_isolated_metadata = True
verbose = True
dnsmasq_config_file = /etc/neutron/dnsmasq-neutron.conf

Créez maintenant le fichier /etc/neutron/dnsmasq-neutron.conf pour activer l'option DHCP MTU (26) et configurez-le sur 1450 octets :

# nano /etc/neutron/dnsmasq-neutron.conf

Placez la ligne ci-dessous dessus.

dhcp-option-force=26,1450

Configurer l'agent de métadonnées :

Modifiez le fichier /etc/neutron/metadata_agent.ini sur le nœud du contrôleur.

# nano /etc/neutron/metadata_agent.ini

Apportez les modifications en conséquence.

[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 = password

## Replace "password" with the password you chose for the neutron user in the Identity service.
## Commentout other authentication details.

nova_metadata_ip = controller
metadata_proxy_shared_secret = METADATA_SECRET

## Replace METADATA_SECRET with a suitable secret for the metadata proxy. generate using # openssl rand -hex 10

verbose = True

Pour terminer l'installation, remplissez 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

Redémarrez le service d'API Compute.

# service nova-api restart

Redémarrez les services 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
# service neutron-l3-agent restart

Par défaut, les packages Ubuntu créent une base de données SQLite. vous pouvez supprimer le fichier de base de données SQLite.

# rm -f /var/lib/neutron/neutron.sqlite

Vérifiez-le en répertoriant les extensions chargées.

# neutron ext-list
+-----------------------+-----------------------------------------------+
| alias                 | name                                          |
+-----------------------+-----------------------------------------------+
| dns-integration       | DNS Integration                               |
| ext-gw-mode           | Neutron L3 Configurable external gateway mode |
| binding               | Port Binding                                  |
| agent                 | agent                                         |
| subnet_allocation     | Subnet Allocation                             |
| l3_agent_scheduler    | L3 Agent Scheduler                            |
| external-net          | Neutron external network                      |
| flavors               | Neutron Service Flavors                       |
| net-mtu               | Network MTU                                   |
| quotas                | Quota management support                      |
| l3-ha                 | HA Router extension                           |
| provider              | Provider Network                              |
| multi-provider        | Multi Provider Network                        |
| extraroute            | Neutron Extra Route                           |
| router                | Neutron L3 Router                             |
| extra_dhcp_opt        | Neutron Extra DHCP opts                       |
| security-group        | security-group                                |
| dhcp_agent_scheduler  | DHCP Agent Scheduler                          |
| rbac-policies         | RBAC Policies                                 |
| port-security         | Port Security                                 |
| allowed-address-pairs | Allowed Address Pairs                         |
| dvr                   | Distributed Virtual Router                    |
+-----------------------+-----------------------------------------------+

C'est tout!. Il est temps d'installer et de configurer le nœud de calcul pour qu'il fonctionne avec le composant Neutron.


Ubuntu
  1. Installez pgAdmin 4 sur Ubuntu 16.04

  2. OpenStack Liberty sur Ubuntu 14.04 LTS - Configurer Nova

  3. OpenStack Kilo sur Ubuntu 14.04.2 – Configurer Cinder #2

  4. OpenStack Kilo sur Ubuntu 14.04.2 - Configurer Cinder #1

  5. OpenStack Kilo sur Ubuntu 14.04.2 - Configurer Horizon

OpenStack Kilo sur Ubuntu 14.04.2 - Configurer Neutron #1

OpenStack Kilo sur Ubuntu 14.04.2 - Configurer Nova

OpenStack Kilo sur Ubuntu 14.04.2 - Configurer Glance

OpenStack Kilo sur Ubuntu 14.04.2 – Configurer KeyStone #2

OpenStack Kilo sur Ubuntu 14.04.2 - Configurer KeyStone #1

OpenStack Kilo sur Ubuntu 14.04.2 – Configurer Swift #1