Esta es la segunda parte de la configuración de neutron (Redes) en Ubuntu 14.04, puede leer el artículo anterior sobre Configurar Neutron #1, en el que hemos instalado y configurado los componentes de red en el nodo del controlador.
Aquí, en este tutorial instalaremos y configuraremos Network Node.
Requisito previo:
Asegúrese de haber habilitado el repositorio OpenStack Kilo en Compute Node, o siga los pasos a continuación para habilitarlo.
Instale el archivo de claves y el repositorio de 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
Actualice su sistema.
# apt-get update
Configure los parámetros del núcleo en el nodo de red, edite el archivo /etc/sysctl.conf.
# nano /etc/sysctl.conf
Agregue los siguientes parámetros al archivo.
net.ipv4.ip_forward=1 net.ipv4.conf.all.rp_filter=0 net.ipv4.conf.default.rp_filter=0
Aplicar los cambios.
# sysctl -p
Instalar y configurar componentes de red:
Instale los siguientes paquetes en el nodo de red.
# apt-get install neutron-plugin-ml2 neutron-plugin-openvswitch-agent neutron-l3-agent neutron-dhcp-agent neutron-metadata-agent
Edite /etc/neutron/neutron.conf.
# nano /etc/neutron/neutron.conf
Modifique la configuración a continuación y asegúrese de colocar las entradas en las secciones adecuadas. En el caso de la sección de la base de datos, comente cualquier opción de conexión ya que el nodo de red no accede directamente a la base de datos
[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
Configurar complemento de capa modular 2 (ML2):
Edite el archivo /etc/neutron/plugins/ml2/ml2_conf.ini.
# nano /etc/neutron/plugins/ml2/ml2_conf.ini
Modifique las siguientes secciones.
[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
Nota:las estrofas [ovs] y [agent] deben agregarse al final del archivo.
Configurar el agente de capa 3 (L3):
Proporciona servicios de enrutamiento para redes virtuales. Edite el archivo /etc/neutron/l3_agent.ini.
# nano /etc/neutron/l3_agent.ini
Modifique la sección [DEFAULT].
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver external_network_bridge = router_delete_namespaces = True verbose = True
Configurar el agente DHCP:
Edite el archivo /etc/neutron/dhcp_agent.ini.
# nano /etc/neutron/dhcp_agent.ini
Modifica las siguientes estrofas.
[DEFAULT] ... interface_driver = neutron.agent.linux.interface.OVSInterfaceDriver dhcp_driver = neutron.agent.linux.dhcp.Dnsmasq dhcp_delete_namespaces = True verbose = True
Configurar el agente de metadatos:
Edite el archivo /etc/neutron/metadata_agent.ini
# nano /etc/neutron/metadata_agent.ini
Modifique las siguientes secciones, es posible que deba comentar las entradas existentes.
[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
En el nodo del controlador , edite el archivo /etc/nova/nova.conf.
# nano /etc/nova/nova.conf
Modifica las secciones [de neutrones].
[neutron] ... service_metadata_proxy = True metadata_proxy_shared_secret = 26f008fb8c504b393df3 ## Replace "26f008fb8c504b393df3" with the secret you chose for the metadata proxy.
Reinicie el servicio de API de cómputo en el nodo del controlador.
# service nova-api restart
Configurar el servicio Open vSwitch (OVS):
Reinicie el servicio OVS en el nodo de red.
# service openvswitch-switch restart
Agregue el puente externo.
# ovs-vsctl add-br br-ex
Agregue un puerto al puente externo que se conecta a la interfaz de red externa física, en mi caso, eth2 es el nombre de la interfaz.
# ovs-vsctl add-port br-ex eth2
Reinicie los servicios de red.
# service neutron-plugin-openvswitch-agent restart # service neutron-l3-agent restart # service neutron-dhcp-agent restart # service neutron-metadata-agent restart
Verificar operación:
Cargue las credenciales de administrador en el nodo del controlador.
# source admin-openrc.sh
Enumere los agentes.
# 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 | +--------------------------------------+--------------------+---------+-------+----------------+---------------------------+
¡Eso es todo! Ha configurado correctamente el nodo de red.