Pila de Calor de Red Inter-Zona de Fujitsu K5
2016-10-21
Machine-translated — the English original is authoritative.
Hoy analizaremos una pila de Calor (Heat) sencilla para implementar el conector de red mejorado que la plataforma K5 implementa para enlazar subredes dentro de proyectos a través de zonas de disponibilidad.

En Fujitsu, nuestro equipo de ingeniería, que actualmente ocupa el número 5 en líneas de código comprometidas con el proyecto OpenStack (¡buen trabajo, chicos!), ha mejorado Neutron en nuestra plataforma K5 para dotarla de la misma capacidad de dominio de fallo de hardware que está presente en el proyecto Nova hoy en día. Esto significa que el servicio Neutron puede dividirse entre zonas de disponibilidad, lo que a su vez facilita dividir tus zonas de disponibilidad entre centros de datos remotos.
Consulta este vídeo para los detalles técnicos – a partir de los 14 minutos…
Como resultado de esta mejora, hemos desarrollado un nuevo componente de Neutron para K5 llamado conector de red, que se utiliza para enlazar redes del mismo proyecto que se encuentran en zonas de disponibilidad separadas. Deben tener diferentes CIDR de subred.
La siguiente pila de Calor crea dos redes privadas, una en cada zona de disponibilidad, y luego las une utilizando el nuevo conector de red y sus componentes de punto final.
Esta plantilla debería ponerte en marcha rápidamente si deseas probarla.
Este archivo contiene texto Unicode oculto o bidireccional que puede interpretarse o compilarse de manera diferente a lo que aparece a continuación. Para revisarlo, abre el archivo en un editor que revele caracteres Unicode ocultos.
Más información sobre caracteres Unicode bidireccionales
| heat_template_version: 2013-05-23 | |
| # Autor: Graham Land | |
| # Fecha: 21/10/2016 | |
| # Propósito: Crear dos subredes, una en cada zona de disponibilidad, dentro del mismo proyecto y luego unir estas subredes | |
| # utilizando un conector de red. Las subredes también se configuran con las nuevas rutas. | |
| # | |
| # Twitter: @allthingsclowd | |
| # Blog: https://allthingscloud.eu | |
| description: Ejemplo de cómo crear y unir dos redes a través de ZAs dentro del mismo proyecto en Fujitsu K5 IaaS | |
| # Parámetros de entrada | |
| parameters: | |
| az1: | |
| type: string | |
| label: Zona de disponibilidad | |
| description: Región ZA a utilizar | |
| default: "uk-1a" | |
| az1_net_name: | |
| type: string | |
| label: Nombre de la red | |
| description: Nombre de la red | |
| default: "demo_net_az1" | |
| az1_subnet_name: | |
| type: string | |
| label: Nombre de la subred | |
| description: Nombre de la subred | |
| default: "demo_subnet_az1" | |
| az1_subnet_CIDR: | |
| type: string | |
| label: CIDR de la subred | |
| description: CIDR de la subred | |
| default: "192.168.100.0/24" | |
| az1_subnet_DHCP_Start_Address: | |
| type: string | |
| label: Dirección de inicio del grupo DHCP de la subred | |
| description: Dirección de inicio del grupo DHCP de la subred | |
| default: "192.168.100.100" | |
| az1_subnet_DHCP_End_Address: | |
| type: string | |
| label: Dirección final del grupo DHCP de la subred | |
| description: Dirección final del grupo DHCP de la subred | |
| default: "192.168.100.150" | |
| az1_subnet_DNS: | |
| type: string | |
| label: DNS de la subred | |
| description: DNS de la subred | |
| default: | |
| – "62.60.39.9" | |
| – "62.60.39.10" | |
| az1_subnet_Routes: | |
| type: string | |
| label: Rutas de host de la subred | |
| description: Rutas de host de la subred | |
| default: | |
| – "nexthop": "192.168.100.253" | |
| "destination": "10.10.10.0/24" | |
| az1_subnet_Gateway: | |
| type: string | |
| label: Dirección de puerta de enlace de la subred | |
| description: Dirección de puerta de enlace de la subred | |
| default: "192.168.100.254" | |
| az1_EndPoint_ip: | |
| type: string | |
| label: Dirección de punto final de la subred | |
| description: Dirección de punto final de la subred | |
| default: "192.168.100.253" | |
| az2: | |
| type: string | |
| label: Zona de disponibilidad | |
| description: Región ZA a utilizar | |
| default: "uk-1b" | |
| az2_net_name: | |
| type: string | |
| label: Nombre de la red | |
| description: Nombre de la red | |
| default: "demo_net_az2" | |
| az2_subnet_name: | |
| type: string | |
| label: Nombre de la subred | |
| description: Nombre de la subred | |
| default: "demo_subnet_az2" | |
| az2_subnet_CIDR: | |
| type: string | |
| label: CIDR de la subred | |
| description: CIDR de la subred | |
| default: "10.10.10.0/24" | |
| az2_subnet_DHCP_Start_Address: | |
| type: string | |
| label: Dirección de inicio del grupo DHCP de la subred | |
| description: Dirección de inicio del grupo DHCP de la subred | |
| default: "10.10.10.100" | |
| az2_subnet_DHCP_End_Address: | |
| type: string | |
| label: Dirección final del grupo DHCP de la subred | |
| description: Dirección final del grupo DHCP de la subred | |
| default: "10.10.10.150" | |
| az2_subnet_DNS: | |
| type: string | |
| label: DNS de la subred | |
| description: DNS de la subred | |
| default: | |
| – "62.60.42.9" | |
| – "62.60.42.10" | |
| az2_subnet_Routes: | |
| type: string | |
| label: Rutas de host de la subred | |
| description: Rutas de host de la subred | |
| default: | |
| – "nexthop": "10.10.10.253" | |
| "destination": "192.168.100.0/24" | |
| az2_subnet_Gateway: | |
| type: string | |
| label: Dirección de puerta de enlace de la subred | |
| description: Dirección de puerta de enlace de la subred | |
| default: "10.10.10.254" | |
| az2_EndPoint_ip: | |
| type: string | |
| label: Dirección de punto final de la subred | |
| description: Dirección de punto final de la subred | |
| default: "10.10.10.253" | |
| # Recursos de infraestructura K5 a construir | |
| resources: | |
| # Crear una red privada en la zona de disponibilidad 1 | |
| private_net_az1: | |
| type: OS::Neutron::Net | |
| properties: | |
| availability_zone: { get_param: az1 } | |
| name: { get_param: az1_net_name } | |
| # Crear una nueva subred en la red privada | |
| private_subnet_az1: | |
| type: OS::Neutron::Subnet | |
| depends_on: private_net_az1 | |
| properties: | |
| availability_zone: { get_param: az1 } | |
| name: { get_param: az1_subnet_name } | |
| network_id: { get_resource: private_net_az1 } | |
| cidr: { get_param: az1_subnet_CIDR } | |
| gateway_ip: { get_param: az1_subnet_Gateway } | |
| allocation_pools: | |
| – start: { get_param: az1_subnet_DHCP_Start_Address } | |
| end: { get_param: az1_subnet_DHCP_End_Address } | |
| dns_nameservers: { get_param: az1_subnet_DNS } | |
| host_routes: { get_param: az1_subnet_Routes } | |
| # Crear una red privada en la zona de disponibilidad 1 | |
| private_net_az2: | |
| type: OS::Neutron::Net | |
| properties: | |
| availability_zone: { get_param: az2 } | |
| name: { get_param: az2_net_name } | |
| # Crear una nueva subred en la red privada | |
| private_subnet_az2: | |
| type: OS::Neutron::Subnet | |
| depends_on: private_net_az2 | |
| properties: | |
| availability_zone: { get_param: az2 } | |
| name: { get_param: az2_subnet_name } | |
| network_id: { get_resource: private_net_az2 } | |
| cidr: { get_param: az2_subnet_CIDR } | |
| gateway_ip: { get_param: az2_subnet_Gateway } | |
| allocation_pools: | |
| – start: { get_param: az2_subnet_DHCP_Start_Address } | |
| end: { get_param: az2_subnet_DHCP_End_Address } | |
| dns_nameservers: { get_param: az2_subnet_DNS } | |
| host_routes: { get_param: az2_subnet_Routes } | |
| # Crear un grupo de seguridad | |
| server_security_group1: | |
| type: OS::Neutron::SecurityGroup | |
| properties: | |
| description: Añadir reglas de grupo de seguridad para el servidor | |
| name: NetworkConnector | |
| rules: | |
| – remote_ip_prefix: 0.0.0.0/0 | |
| protocol: tcp | |
| port_range_min: 1 | |
| port_range_max: 65535 | |
| – remote_ip_prefix: 0.0.0.0/0 | |
| protocol: udp | |
| port_range_min: 1 | |
| port_range_max: 65535 | |
| – remote_ip_prefix: 0.0.0.0/0 | |
| protocol: icmp | |
| ############################### Interconexión AZ ########################################################### | |
| az1_nc_port: | |
| type: OS::Neutron::Port | |
| depends_on: [ server_security_group1 ] | |
| properties: | |
| availability_zone: { get_param: az1 } | |
| network_id: { get_resource: private_net_az1 } | |
| security_groups: [{ get_resource: server_security_group1 }] | |
| fixed_ips: | |
| – subnet_id: { get_resource: private_subnet_az1 } | |
| ip_address: { get_param: az1_EndPoint_ip } | |
| az2_nc_port: | |
| type: OS::Neutron::Port | |
| depends_on: [ server_security_group1 ] | |
| properties: | |
| availability_zone: { get_param: az2 } | |
| network_id: { get_resource: private_net_az2 } | |
| security_groups: [{ get_resource: server_security_group1 }] | |
| fixed_ips: | |
| – subnet_id: { get_resource: private_subnet_az2 } | |
| ip_address: { get_param: az2_EndPoint_ip } | |
| az1_network_connector: | |
| type: FCX::Neutron::NetworkConnector | |
| depends_on: [ az1_nc_port,az2_nc_port ] | |
| properties: | |
| name: "Demo_AZ_Network_Connector" | |
| az1_nc_endpoint: | |
| type: FCX::Neutron::NetworkConnectorEndpoint | |
| depends_on: [ az1_nc_port,az2_nc_port ] | |
| properties: | |
| endpoint_type: "availability_zone" | |
| name: "AZ1-NC-EP" | |
| network_connector_id: { get_resource: az1_network_connector } | |
| location: { get_param: az1 } | |
| az2_nc_endpoint: | |
| type: FCX::Neutron::NetworkConnectorEndpoint | |
| depends_on: [ az1_nc_port,az2_nc_port ] | |
| properties: | |
| endpoint_type: "availability_zone" | |
| name: "AZ2-NC-EP" | |
| network_connector_id: { get_resource: az1_network_connector } | |
| location: { get_param: az2 } | |
| az1_endpoint_connection: | |
| type: FCX::Neutron::NetworkConnectorEndpointConnection | |
| depends_on: [ az1_nc_port,az2_nc_port ] | |
| properties: | |
| port_id: { get_resource: az1_nc_port } | |
| network_connector_endpoint_id: { get_resource: az1_nc_endpoint } | |
| az2_endpoint_connection: | |
| type: FCX::Neutron::NetworkConnectorEndpointConnection | |
| depends_on: [ az1_nc_port,az2_nc_port ] | |
| properties: | |
| port_id: { get_resource: az2_nc_port } | |
| network_connector_endpoint_id: { get_resource: az2_nc_endpoint } | |
| Contactar Tienda de formación de GitHub API Blog Acerca de | |
| © 2016 GitHub, Inc. Términos Priv |
ver original
K5NetworkConnectorDemo.yml
alojado con ❤ por GitHub
Ahora solo necesitas iniciar una instancia en cada subred y verás que tienes conectividad de capa 3 entre las instancias …

¡Feliz apilamiento!
Originally published on allthingscloud.eu (2016-10-21).