Instalación y configuración de neutrones

Construcción y aplicación de plataforma de infraestructura de computación en la nube basada en centos6.5

(7) Instalación y configuración de Neutron

El
entrenamiento de instalación manual y configuración del entorno externo de Neutron implica objetivos de entrenamiento de
cálculo del controlador de nodo

  1. Complete la instalación de los componentes básicos de Neutron;
  2. Complete la modificación del kernel de Linux;
  3. Completar la creación y autorización de la base de datos Neutron;
  4. Completar la creación de usuarios, inquilinos, roles y puntos finales de servicio de Neutron;
  5. Complete la configuración de la parte de autenticación del archivo de configuración principal de Neutron;
  6. Completar la creación de la tarjeta de red virtual
    1. Instalación de los componentes básicos de Neutron (controlador, computación)
[root@controller ~]# yum -y install openstack-neutron openstack-neutron-ml2 python-neutronclient openstack-neutron-openvswitch

2. Modificar los parámetros del kernel de Linux (controlador, cálculo)

[root@controller ~]# vi /etc/sysctl.conf

Modificación:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
Agregar:
net.ipv4.conf.all.rp_filter = 0

Hágalo efectivo:

[root@controller ~]# sysctl –p

Si se informa de un error: ...... es una clave desconocida. Solución:

[root@controller ~]#modprobe bridge
[root@controller ~]#lsmod|grep bridge

calcular

[root@computer ~]# vi /etc/sysctl.conf

Modificación:
net.ipv4.ip_forward = 1
net.ipv4.conf.default.rp_filter = 0
Agregar:
net.ipv4.conf.all.rp_filter = 0

使其生效:
[root@compute ~]# sysctl –p

3. Cree una base de datos de Neutron y autorice

[root@controller ~]# mysql –uroot –p000000
mysql>create database neutron; 
mysql>grant all privileges on neutron.* to ‘neutron’@’localhost’ identified by ‘000000’;
mysql>grant all privileges on neutron.* to ‘neutron’@’%’ identified by ‘000000’;

Conectarse a la base de datos

[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf database connection mysql://neutron:000000@controller/neutron

Diferente a otros servicios. El servicio Neutron sincronizará automáticamente la base de datos cuando se esté ejecutando.
4. Registre el servicio Neutron en el servidor Keystone.

[root@controller ~]# keystone user-create --name=neutron --pass=000000
[root@controller ~]# keystone user-role-add --user=neutron --tenant=service --role=admin
[root@controller ~]# keystone service-create --name neutron --type network --description "Openstack Networking"
[root@controller ~]# keystone endpoint-create --service-id $(keystone service-list | awk '/ network / {print $2}') --publicurl "http://controller:9696" --adminurl "http://controller:9696" --internalurl http://controller:9696

5. Configure Neutron para utilizar el servicio de cola de mensajes (controlador, cálculo)

[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname controller
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT rpc_backend neutron.openstack.common.rpc.impl_qpid
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT qpid_hostname controller

6. Configure la información de autenticación Keystone de Neutron

[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password 000000

[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT auth_strategy keystone
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_uri http://controller:5000
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_host controller
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_protocol http
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken auth_port 35357
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_tenant_name service
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_user neutron
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf keystone_authtoken admin_password 000000

La información de autenticación Keystone de Neutron incluye el tipo de autenticación predeterminado, el punto final del servicio de autenticación, el puerto de autenticación, el nombre de usuario, el nombre del inquilino, la contraseña, etc.
7. Crear tarjeta de red virtual (controlador, computación)
Neutron proporciona la función de tarjeta de red virtual. Puede comunicarse con la máquina virtual creada por openstack a través de la tarjeta de red virtual creada. En este experimento, para asegurar la comunicación normal de toda la red, se crean tarjetas de red virtuales en ambos nodos, que se pueden crear en los nodos correspondientes según la situación real.

[root@controller ~]# vi /etc/sysconfig/network-scripts/ifcfg-br-ex

Complete lo siguiente:
DEVICE = br-ex
ONBOOT = yes
NM_CONTROLLED = no
BOOTPROTO = static
NAME = "System br-ex"
IPADDR = 192.168.200.11
NETMASK = 255.255.255.0

La tarjeta de red virtual está vinculada a la tarjeta de red física. En este experimento, la dirección de la máquina virtual está en el segmento de red 192.168.200.0/24, por lo que está vinculada a la tarjeta de red eth1 en este segmento de red. Reinicie el puente antes de vincularse.

[root@controller ~]# service openvswitch restart

Comando de encuadernación:

[root@controller ~]# ovs-vsctl add-br br-int
[root@controller ~]# ovs-vsctl add-br br-ex
[root@controller ~]# ovs-vsctl add-port br-ex eth1

Desactive la función GRO de la tarjeta de red física. La función GRO fusionará los paquetes de datos de flujo pequeño del mismo flujo de datos en un paquete de datos de flujo grande y lo entregará a la pila de protocolos del kernel. Cuando el puente virtual procesa dichos paquetes con un valor mayor que el valor de MTU (Unidad de transmisión máxima), optará por descartarlo. Para asegurarse de que no haya pérdida de paquetes y transmisión lenta entre redes virtuales, la función GRO del es necesario apagar la tarjeta de red física. Luego reinicie la red.

[root@controller ~]# ethtool -K eth1 gro off

Compruebe si la encuadernación es correcta

[root@controller ~]# ovs-vsctl show
[root@compute ~]# vi /etc/sysconfig/network-scripts/ifcfg-br-ex

Complete lo siguiente:
DEVICE = br-ex
ONBOOT = yes
NM_CONTROLLED = no
BOOTPROTO = static
NAME = ”System br-ex”
IPADDR = 192.168.200.21
NETMASK = 255.255.255.0

[root@compute ~]# service openvswitch restart
绑定命令:
[root@compute ~]# ovs-vsctl add-br br-int
[root@compute ~]# ovs-vsctl add-br br-ex
[root@compute ~]# ovs-vsctl add-port br-ex eth1
[root@compute ~]# ethtool -K eth1 gro off
[root@compute ~]# ovs-vsctl show

Configuración del componente del servicio principal de Neutron y creación de la red El
entrenamiento implica el objetivo de entrenamiento de
cálculo del controlador de nodo

  1. Complete la configuración interactiva entre los componentes Neutron y Nova
  2. Completa la configuración de OpenvSwitch
  3. Complete la configuración de la red FLAT
  4. Completa la configuración de los metadatos de Neutron
  5. Complete la configuración del componente DHCP de Neutron
  6. Completar la creación de la red FLAT
    1. Configure la información de autenticación de Nova en el componente Neutron.
    Para asegurar la comunicación normal entre instancias de máquinas virtuales, Neutron necesita configurar la información de autenticación de Nova en Neutron. Cuando el componente Neutron se está ejecutando , se obtendrá a través del componente Keystone Información relacionada con Nova para obtener la información de estado de la instancia.
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_url http://controller:8774/v2
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_username nova
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_tenant_id $(keystone tenant-list | awk '/ service / {print $2}')
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_password 000000
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT nova_admin_auth_url http://controller:35357/v2.0

Configure la notificación de actualización de cambio de topología de red. Cuando el nodo virtual en la red cambia, Neutron determinará automáticamente el estado de la instancia de la máquina virtual según la información obtenida de Nova, cambiando así la topología de la red.

[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_status_changes True
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT notify_nova_on_port_data_changes True
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT vif_plugging_is_fatal False
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT vif_plugging_timeout 10

2. Agregue información relacionada con Neutron (controlador, cálculo)
al componente Nova. Para permitir que la instancia de la máquina virtual obtenga información como la dirección IP proporcionada por Neutron, debe agregar información relacionada con Neutron al componente Nova. Nova obtiene información sobre Neutron a través del componente Keystone, y el servicio Nova del nodo de cálculo también necesita obtener información sobre Neutron.

[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://controller:9696
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_auth_strategy keystone
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_tenant_name service
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_username neutron
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_password 000000
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://controller:35357/v2.0

[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT network_api_class nova.network.neutronv2.api.API
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_url http://controller:9696
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_auth_strategy keystone
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_tenant_name service
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_username neutron
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_password 000000
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT neutron_admin_auth_url http://controller:35357/v2.0

3. Configure OpenvSwitch (controlador, computación) El
complemento de red virtual predeterminado para Linux es LinuxBrige. En este experimento, se usa OpenvSwitch en lugar de LinuxBrige. La información del complemento predeterminado y el firewall, el grupo de seguridad y otras funciones de OpenvSwitch deben modificarse en el archivo de configuración principal de Nova.

[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api neutron

[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT linuxnet_interface_driver nova.network.linux_net.LinuxOVSInterfaceDriver
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT firewall_driver nova.virt.firewall.NoopFirewallDriver
[root@compute ~]# openstack-config --set /etc/nova/nova.conf DEFAULT security_group_api neutron

4. Construya una red FLAT (controlador, computación) a
través del complemento ML2 A partir de la versión Havana, OpenStack ha introducido el complemento ML2. El complemento ML2 se puede utilizar como marco para admitir diferentes redes de Capa 2 al mismo tiempo. Para el complemento OpenvSwitch, usar ML2 para crear una red virtual de Capa 2 es una solución ideal.
Declare el complemento del kernel de red virtual y el complemento de servicio en el archivo de configuración principal. El complemento de servicio utiliza un enrutador.

[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
[root@controller ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router

[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT core_plugin ml2
[root@compute ~]# openstack-config --set /etc/neutron/neutron.conf DEFAULT service_plugins router

Una vez completada la declaración, configure el complemento Neutron ML2, primero configure el tipo de red compatible con ML2 y luego configure el complemento OpenvSwitch, el firewall y el grupo de seguridad.

[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs flat_networks physnet1
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs bridge_mappings physnet1:br-ex
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@controller ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 type_drivers flat
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 tenant_network_types flat
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2_type_flat flat_networks physnet1
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs flat_networks physnet1
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ovs bridge_mappings physnet1:br-ex
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini ml2 mechanism_drivers openvswitch
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup firewall_driver neutron.agent.linux.iptables_firewall.OVSHybridIptablesFirewallDriver
[root@compute ~]# openstack-config --set /etc/neutron/plugins/ml2/ml2_conf.ini securitygroup enable_security_group True

Finalmente, el script de inicio predeterminado del servicio OpenvSwitch debe modificarse para usar el complemento ML2 en lugar del complemento OVS tradicional.
Crear una conexión suave (controlador, computación)

[root@controller ~]# ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini
[root@compute ~]# ln -s plugins/ml2/ml2_conf.ini /etc/neutron/plugin.ini

Haga una copia de seguridad del script original (controlador, cálculo)

[root@controller ~]# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutron-openvswitch-agent.bak
[root@compute ~]# cp /etc/init.d/neutron-openvswitch-agent /etc/init.d/neutron-openvswitch-agent.bak

Modifique el script de inicio de OpenvSwitch mediante el comando sed (controlador, cálculo)

[root@controller ~]# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /etc/init.d/neutron-openvswitch-agent
[root@compute ~]# sed -i 's,plugins/openvswitch/ovs_neutron_plugin.ini,plugin.ini,g' /etc/init.d/neutron-openvswitch-agent

5. Configure el servicio DHCP de Neutron El servicio
DHCP puede proporcionar automáticamente direcciones IP para instancias de máquinas virtuales. La ubicación real de la instancia de máquina virtual en este experimento está en el nodo de cálculo, por lo que el servicio DHCP de Neutron está habilitado en el nodo de cálculo. En el entorno real, puede elegir según la situación real.
Declare el controlador de interfaz correspondiente al servicio DHCP. Este experimento utiliza OpenvSwitch.

[root@compute ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT interface_driver neutron.agent.linux.interface.OVSInterfaceDriver
[root@compute ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT dhcp_driver neutron.agent.linux.dhcp.Dnsmasq

Abra la función de espacio de nombres del complemento DHCP, de modo que la instancia de máquina virtual pueda encontrar el servicio DHCP en el espacio de nombres

[root@compute ~]# openstack-config --set /etc/neutron/dhcp_agent.ini DEFAULT use_namespaces True

6. Configure el servicio de metadatos de Neutron.
La función del servicio de metadatos es pasar información como la clave pública a la instancia de la máquina virtual. Cuando la instancia necesita estar conectada por clave pública, el servicio de metadatos se vuelve particularmente importante.
El servicio de metadatos se implementa en el nodo del controlador a través del agente de Neutron y se habilitará un servicio de metadatos independiente en el nodo de cálculo.
El servicio de metadatos utiliza la información de autenticación de Neutron para interactuar con Keystone para la autenticación, por lo que el nombre de usuario, contraseña, inquilino, dirección de autenticación y otra información configurada son los mismos que los de Neutron.

[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_url http://controller:5000/v2.0
[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT auth_region regionOne
[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_tenant_name service
[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_user neutron
[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT admin_password 000000

Especificar la ubicación del servicio Nova para los metadatos del nodo de cálculo, los metadatos acceden al servicio Nova a través del nodo del controlador

[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT nova_metadata_ip controller

Finalmente, configure la clave precompartida de metadatos, el comando es el siguiente:

[root@compute ~]# openstack-config --set /etc/neutron/metadata_agent.ini DEFAULT metadata_proxy_shared_secret 000000

En el nodo del controlador, el proxy de metadatos se realiza modificando el archivo de configuración principal de Nova,

[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT service_neutron_metadata_proxy true
[root@controller ~]# openstack-config --set /etc/nova/nova.conf DEFAULT metadata_proxy_shared_secret 000000

Nota: La clave precompartida de controlador y cálculo debe ser la misma.
7. Inicie los servicios relacionados con Neutron (controlador, cálculo)

[root@controller ~]# service neutron-openvswitch-agent start
[root@controller ~]# service neutron-metadata-agent start
[root@controller ~]# service neutron-server start
[root@controller ~]# chkconfig neutron-server on
[root@controller ~]# chkconfig neutron-openvswitch-agent on
[root@controller ~]# chkconfig neutron-metadata-agent on

[root@compute ~]# service openstack-nova-compute restart
[root@compute ~]# service neutron-openvswitch-agent restart
[root@compute ~]# service neutron-dhcp-agent restart
[root@compute ~]# service neutron-metadata-agent restart
[root@compute ~]# chkconfig neutron-openvswitch-agent on
[root@compute ~]# chkconfig neutron-dhcp-agent on
[root@compute ~]# chkconfig neutron-metadata-agent on

[root@controller ~]# neutron agent-list

Entre ellos, el campo agent_type indica el nombre del componente relacionado con Neutron, host indica la ubicación donde se está ejecutando el servicio, vivo indica la información del estado de ejecución, smiley indica que la operación es normal, xxx indica que la operación es anormal, el servicio relacionado puede no se inicia o hay un problema con el archivo de configuración, admin_state_up indica si el componente Habilitado, Verdadero significa que ha sido habilitado, Falso significa no usado.

8. Cree una red FLAT
Cree una pequeña red FLAT a través de Neutron
Asigne el ID del inquilino del servicio a la variable tenantID

[root@controller ~]# tenantID=`keystone tenant-list | grep service | awk '{print $2}'`

Ejecute el comando net-create de Neutron para crear una red virtual, el comando es el siguiente:

[root@controller ~]#neutron net-create --tenant-id $tenantID sharednet1 --shared --provider:network_type flat --provider:physical_network physnet1

Finalmente, crea la subred

[root@controller ~]# neutron subnet-create --tenant-id $tenantID --gateway 192.168.200.1 --allocation-pool start=192.168.200.100,end=192.168.200.200 sharednet1 192.168.200.0/24 --name subnet1
[root@controller ~]# neutron net-list
[root@controller ~]# neutron subnet-list

Supongo que te gusta

Origin blog.csdn.net/qq_44750380/article/details/103942190
Recomendado
Clasificación