Il s'agit de la deuxième partie de la configuration de neutron (Réseau) sur Ubuntu 14.04, vous pouvez consulter l'article précédent sur Configurer Neutron #1, dans lequel nous avons installé et configuré des composants de réseau sur le nœud du contrôleur.
Ici, dans ce tutoriel, nous allons installer et configurer Network Node.
Prérequis :
Assurez-vous d'avoir activé le référentiel OpenStack Kilo sur Compute Node, ou suivez les étapes ci-dessous pour l'activer.
Installez le porte-clés et le référentiel de l'archive Ubuntu Cloud.
# apt-get install ubuntu-cloud-keyring # echo "deb http://ubuntu-cloud.archive.canonical.com/ubuntu" "trusty-updates/kilo main" > /etc/apt/sources.list.d/cloudarchive-kilo.list
Mettez à niveau votre système.
# apt-get update
Configurez les paramètres du noyau sur le nœud du réseau, modifiez le fichier /etc/sysctl.conf.
# nano /etc/sysctl.conf
Ajoutez les paramètres suivants dans le fichier.
net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0
Appliquez les modifications.
# sysctl -p
Installer et configurer les composants réseau :
Installez les packages suivants sur le nœud réseau.
# apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent
Éditez /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. Dans le cas de la section de la base de données, commentez toutes les options de connexion car le nœud du réseau n'accède pas directement à la base de données
[DEFAULT] ... rpc_backend = rabbit core_plugin = ml2 service_plugins = router allow_overlapping_ips = True auth_strategy = keystone verbose = True [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 [database] ... #connection = sqlite:////var/lib/neutron/neutron.sqlite ##Comment out the above line. [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
Configurer le plug-in de couche 2 modulaire (ML2) :
Modifiez le fichier /etc/neutron/plugins/ml2/ml2_conf.ini.
# nano /etc/neutron/plugins/ml2/ml2_conf.ini
Modifiez les sections ci-dessous.
[ml2] ... type_drivers = flat,vlan,gre,vxlan tenant_network_types = gre mechanism_drivers = openvswitch [ml2_type_flat] ... flat_networks = external [ml2_type_gre] ... tunnel_id_ranges = 1:1000 [securitygroup] ... enable_security_group = True enable_ipset = True firewall_driver = neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver [ovs] local_ip = 192.168.11.22 ## Tunnel network interface on your Network Node. bridge_mappings = external:br-ex [agent] tunnel_types = gre
Remarque :les strophes [ovs] et [agent] doivent être ajoutées en plus au bas du fichier.
Configurez l'agent de couche 3 (L3) :
Il fournit des services de routage pour les réseaux virtuels, Editez le fichier /etc/neutron/l3_agent.ini.
# nano /etc/neutron/l3_agent.ini
Modifiez la section [DEFAULT].
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver external_network_bridge = router_delete_namespaces = True verbose = True
Configurer l'agent DHCP :
Modifiez le fichier /etc/neutron/dhcp_agent.ini.
# nano /etc/neutron/dhcp_agent.ini
Modifiez les strophes suivantes.
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq dhcp_delete_namespaces = True verbose = True
Configurer l'agent de métadonnées :
Editez le fichier /etc/neutron/metadata_agent.ini
# nano /etc/neutron/metadata_agent.ini
Modifiez les sections suivantes, vous devrez peut-être commenter les entrées existantes.
[DEFAULT] ... verbose = True 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 neutron user in the identity service. nova_metadata_ip = controller metadata_proxy_shared_secret = 26f008fb8c504b393df3 ## Replace "26f008fb8c504b393df3" with a suitable secret for the metadata proxy
Sur le nœud du contrôleur , modifiez le fichier /etc/nova/nova.conf.
# nano /etc/nova/nova.conf
Modifier les sections [neutron].
[neutron] ... service_metadata_proxy = True metadata_proxy_shared_secret = 26f008fb8c504b393df3 ## Replace "26f008fb8c504b393df3" with the secret you chose for the metadata proxy.
Redémarrez le service d'API de calcul sur le nœud du contrôleur.
# service nova-api restart
Configurer le service Open vSwitch (OVS) :
Redémarrez le service OVS sur Network Node.
# service openvswitch-switch restart
Ajoutez le pont externe.
# ovs-vsctl add-br br-ex
Ajoutez un port au pont externe qui se connecte à l'interface réseau externe physique, dans mon cas eth2 est le nom de l'interface.
# ovs-vsctl add-port br-ex eth2
Redémarrez les services réseau.
# service neutron-plugin-openvswitch-agent restart # service neutron-l3-agent restart # service neutron-dhcp-agent restart # service neutron-metadata-agent restart
Vérifier l'opération :
Chargez les informations d'identification de l'administrateur sur le nœud du contrôleur.
# source admin-openrc.sh
Lister les agents.
# neutron agent-list +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ | id | agent_type | host | alive | admin_state_up | binary | +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+ | 23da3f95-b81b-4426-9d7a-d5cbfc5241c0 | Metadata agent | network | :-) | True | neutron-metadata-agent | | 4217b0c0-fbd4-47d9-bc22-5187f09d958a | DHCP agent | network | :-) | True | neutron-dhcp-agent | | b4cf95cd-2eba-4c69-baa6-ae8832384e40 | Open vSwitch agent | network | :-) | True | neutron-openvswitch-agent | | d9e174be-e719-4f05-ad05-bc444eb97df5 | L3 agent | network | :-) | True | neutron-l3-agent | +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
C'est tout !!!, vous avez configuré avec succès Network Node.