Tiempo estimado para completarlo: de 6 a 8 horas
Propietario del componente operativo: PNET
2.8.1. Información general
En este paso del proceso se aprovisionan archivos de configuración que permiten que las redes de la infraestructura de Operations Suite (OI) y de GDC establezcan conectividad.
Para completar estos pasos, se necesita acceso a algunos archivos de GDC, así como conectividad al clúster de administrador raíz de la instancia de GDC para obtener información de la red en tiempo de ejecución.
2.8.2. Antes de empezar
En esta fase del proceso de implementación, se deben cumplir los siguientes requisitos:
Ambos conmutadores OIR están cableados, encendidos, actualizados a la versión adecuada y tienen aplicadas las configuraciones de base y de LCA.
Ambos cortafuegos OIF están cableados, encendidos, actualizados a la versión adecuada, habilitados para el modo FIPS-CC y tienen aplicada la configuración base.
Para completar el aprovisionamiento de la conectividad de GDC, la instancia de GDC debe haber completado el bootstrap de la red y haber pasado del clúster de tipo al clúster de administrador raíz.
2.8.3. Preparación
Prepara el entorno para los pasos siguientes. Para ello, reúne la siguiente información y define las variables de entorno.
OI se puede conectar de dos formas: localmente o de forma remota.
Una conexión local conecta OI con GDC directamente mediante conexiones de fibra entre racks del mismo centro de datos.
Una conexión remota se conecta a una ubicación diferente mediante un transporte de larga distancia.
Esta especificación se puede proporcionar en el archivo interconnect.yaml, que es necesario para aprovisionar las configuraciones de interconexión de GDC.
Este archivo contiene toda la información necesaria para configurar las interconexiones de GDC.
2.8.3.1. Especificación YAML de interconexión
| Atributo |
Descripción |
Ejemplo |
|---|---|---|
zones[ ] mapa |
Información sobre la celda de GDC a la que debe conectarse la implementación de OI. Para conectarse a una lista de celdas de GDC, especifique una lista de zones con información de cada celda de GDC en cada zona.
Opciones de zona |
Ejemplo:zones: |
2.8.3.2. Opciones de zona
Contiene información sobre una celda de GDC en el archivo interconnect.yaml:
| Atributo |
Descripción |
Uso |
|---|---|---|
zoneNamestring |
Abreviatura de la celda de GDC a la que debe conectarse la implementación de OI. | zones: |
uplinkSpeeduint32 |
(Opcional) Proporciona la velocidad de subida de la conexión: (10 o 100).
|
Valores:10, 100Valor predeterminado: 10uplinkSpeed: 100 |
localInstanceint |
El InstanceID del sitio de implementación de OI del archivo ocit.yaml.Una conexión local conecta el sitio de Operations Suite Infrastructure Core Rack (OIR) con GDC directamente mediante conexiones de fibra entre racks del mismo centro de datos. |
zones: |
remoteInstance[ ] int |
InstanceID(s) del sitio de implementación de OI del archivo ocit.yaml.Una conexión remota se conecta a una o varias ubicaciones diferentes mediante un transporte de larga distancia. Se puede proporcionar una lista de valores de remoteInstance para que se generen configuraciones de todos los sitios de OIR con el fin de conectarse a las celdas de GDC indicadas.
|
zones: zones: |
cellCfgstring |
Ruta de configuración de la celda de GDC, que contiene toda la información sobre las interconexiones. Se usará para generar todas las configuraciones de interconexión de OIR.\ Si no se proporciona `cellCfg` en el archivo interconnect.yaml, la herramienta occonfig usa la API de Kubernetes en el bootstrapper de la celda de GDC para obtener información de interconexión si `zoneName` coincide con la abreviatura de la celda de GDC. | zones: |
Si se trata de una conexión local, configura el archivo interconnect.yaml de la siguiente manera:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
cellCfg: /path/to/cellcfg
Si se trata de una conexión remota, configura el archivo interconnect.yaml de la siguiente manera:
zones:
- zoneName: ah
uplinkSpeed: 100
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
En las implementaciones de OI multisitio, especifica el archivo interconnect.yaml de la siguiente manera:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
2.8.3.3. Opciones de WAN
La siguiente tabla incluye información sobre la red WAN de nivel 3 en el archivo interconnect.yaml.
Si aprovisionas las configuraciones de L3-WAN, asegúrate de que las configuraciones base generadas tengan habilitada la marca de función L3-WAN y el ASN wan-transit declarado.
| Atributo | Tipo | Descripción |
|---|---|---|
| wanName | cadena | Nombre de la WAN de nivel 3 que se conecta a OIC. Se usa para las descripciones de las interfaces y las relaciones de vecinos de BGP. |
| operationsCIDRs | [ ] CIDR | Conjunto de bloques CIDR que espera la WAN de capa 3 y que permite OIC. Esto ayuda a configurar la conexión entre el NOC del cliente y OC-WORKSTATIONS. |
| instances | Configuración de cada instancia que necesite conectarse a la WAN de capa 3. | |
| instanceID | int | ID de instancia de la instancia de OIC para la que se van a generar configuraciones para conectarse a la WAN de nivel 3 proporcionada. |
| bgp | Configuración de BGP de la WAN de capa 3. | |
| asn | int | ASN de BGP de los nodos PE de la WAN de nivel 3 para configurar conexiones eBGP. |
| dispositivos | Configuración específica de cada interruptor OCCORE. | |
| deviceName | cadena | Nombre del dispositivo, que se usa en las descripciones. Debe ser igual al nombre del archivo de configuración generado a partir del archivo ocit.yaml (ocit config generation). |
| enlaces de subida | Configuración específica de los puertos que se conectan a los nodos PE de la WAN de nivel 3. | |
| uplinkName | cadena | Nombre de la interfaz que se usa en la descripción de la interfaz. |
| bgpPassword | cadena | Contraseña de BGP para el peering sin cifrar. |
| ip | cadena | Dirección IPv4 del puerto local que se conecta al nodo PE de la WAN de capa 3. |
| pasarela | cadena | Dirección IPv4 del puerto remoto que se conecta al nodo PE. También se usa para la dirección del vecino BGP. |
| subred | cadena | Definición de subred de la interfaz que se conecta al nodo PE. |
| puerto | int | Número de puerto físico del conmutador OCCORE usado para conectarse al nodo PE. |
| Subinterfaz | int | ID de subinterfaz (etiqueta dot1q) usada en la parte superior del puerto físico (si hay alguno). |
2.8.3.3.1. Configuraciones de ejemplo
En el siguiente ejemplo se muestra un archivo interconnect.yaml en el que el rack principal de la infraestructura de Operations Suite (OIR) se empareja con una WAN de capa 3, con dos enlaces ascendentes en occoresw01 y un enlace ascendente en occoresw02:
zones:
- zoneName: kb
uplinkSpeed: 10
localInstanceID: 1
cellCfg: /path/to/cellcfg
wan:
- wanName:L3WANName
operationsCIDRs:
- ipFamily: IPv4
ipv4: 172.22.48.0/24
- ipFamily: IPv4
ipv4: 172.22.49.0/24
- ipFamily: IPv4
ipv4: 172.22.50.0/24
- ipFamily: IPv4
ipv4: 172.22.51.0/24
instances:
- instanceID: 1
bgp:
asn: 65515
devices:
- deviceName: occoresw101
uplinks:
- uplinkName: AA
bgpPassword: admin!123
numberedIpGroup:
ipFamily: IPv4
ipv4:
ip: 10.1.0.1
subnet:
gateway: 10.1.0.0
subnet: 10.1.0.0/31
port:
port: 33
- uplinkName: AB
bgpPassword: admin!123
numberedIpGroup:
ipFamily: IPv4
ipv4:
ip: 10.1.0.3
subnet:
gateway: 10.1.0.2
subnet: 10.1.0.2/31
port:
port: 34
subinterface: 100
- deviceName: occoresw102
uplinks:
- uplinkName: AC
bgpPassword: admin!123
numberedIpGroup:
ipFamily: IPv4
ipv4:
ip: 10.2.0.3
subnet:
gateway: 10.2.0.2
subnet: 10.2.0.2/31
port:
port: 35
2.8.4. Generar configuraciones de interruptores
Estos pasos generan configuraciones de parches que se aplican a los dispositivos de red para proporcionar conectividad a GDC.
Genera las configuraciones de los interruptores:
occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml
De esta forma, se generan los siguientes archivos de configuración para cada sitio:
| Archivo(s) de configuración | Dispositivo | Función |
|---|---|---|
| occoresw101.incremental | occoresw101 | Configuración para parchear el dispositivo para que se conecte a la instancia de GDC |
| occoresw101.acl | occoresw101 | Configuración para parchear las ACLs para la aplicación del tráfico con las redes de GDC. |
| occoresw102.incremental | occoresw102 | Configuración para parchear el dispositivo para que se conecte a la instancia de GDC |
| occoresw102.acl | occoresw102 | Configuración para parchear las ACLs para la aplicación del tráfico con las redes de GDC. |
| ocsw101.incremental | ocs1w01 | Configuración para parchear el dispositivo para que se conecte a la instancia de GDC |
| ocsw101.acl | ocsw101 | Configuración para parchear las ACLs para la aplicación del tráfico con las redes de GDC. |
| ocsw102.incremental | ocsw102 | Configuración para parchear el dispositivo para que se conecte a la instancia de GDC |
| ocsw102.acl | ocsw102 | Configuración para parchear las ACLs para la aplicación del tráfico con las redes de GDC. |
2.8.5. Generar políticas de cortafuegos
Para generar las reglas de cortafuegos, el occonfigtool debe acceder a la API de Kubernetes del clúster de administrador raíz. Comprueba que la variable de entorno KUBECONFIG tenga asignado el valor root-admin-kubeconfig:
export KUBECONFIG=/root/release/root-admin/root-admin-kubeconfig
export OCIT_CONFIG_FILE=/path/to/ocit.yaml
export OCIT_INTERCONNECT_CONFIG_FILE=/path/to/interconnect.yaml
Para generar las reglas de cortafuegos, ejecuta lo siguiente:
occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
| Archivo(s) de configuración | Dispositivo | Función |
|---|---|---|
| firewall-rules.base | occorefw01 | Configuración para parchear el dispositivo para que se conecte a la instancia de GDC |
2.8.6. Aplicar configuraciones
Con los archivos de salida, aplica la configuración a los dispositivos de red correspondientes siguiendo el mismo procedimiento que en el paso anterior para los switches y los firewalls.
2.8.7. Actualizar recursos de RoutePolicy de los centros de datos de Google
GDC usa la política de ruta para determinar qué redes pueden anunciarse en la tabla de enrutamiento.
Cuando añadimos OI como red externa, tenemos que actualizar los RoutePolicyrecursos personalizados
para que se adapten a las nuevas redes.
Para ello, debes acceder al clúster de administrador raíz mediante kubectl. Asegúrate de que se ha definido la variable KUBECONFIG adecuada:
export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig
Para confirmarlo, haz lo siguiente:
kubectl get routepolicy -n gpc-system
Debería ver un resultado como el siguiente:
NAME AGE
customerpeering-routepolicy 19d
datacenter-routepolicy 19d
mgmtnetworkoperationcenter-routepolicy 19d
networkoperationcenter-routepolicy 19d
En estos pasos, analizaremos networkoperationcenter-routepolicy y mgmtnetworkoperationcenter-routepolicy.
2.8.7.1. Parchear políticas de ruta de red de datos
En ocinfo.opscenter.local.txt, recupera las siguientes subredes (incluida la red y la longitud del prefijo).
- OCCORE-SERVERS, que se usa en el siguiente ejemplo como
$OCCORE_SERVERS_NET - OC-WORKSTATIONS, que en el siguiente ejemplo se usa como
$OC_WORKSTATIONS_NET
Usa estos valores para ajustar las políticas de ruta rellenando las siguientes variables:
export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET
Por ejemplo:
export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24
Una vez definidas las variables de entorno, ejecuta los siguientes comandos kubectl para actualizar las políticas de ruta:
kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
--type=json -p="[
{
'op': 'add',
'path': '/spec/in/ipPrefixList/0',
'value': {
'action': 'Permit',
'ipPrefix': '${OCCORE_SERVERS_NET:?}',
'prefixLengthMatchers': [
{
'operator': 'LE',
'prefixLength': 32
}
]
}
}
]"
kubectl patch routepolicy/networkoperationcenter-routepolicy -n gpc-system \
--type=json -p="[
{
'op': 'add',
'path': '/spec/in/ipPrefixList/0',
'value': {
'action': 'Permit',
'ipPrefix': '${OC_WORKSTATIONS_NET:?}',
'prefixLengthMatchers': [
{
'operator': 'LE',
'prefixLength': 32
}
]
}
}
]"
Ejemplo:
routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched
2.8.7.2. Políticas de ruta de red de gestión de parches
En ocinfo.opscenter.local.txt, recupera las siguientes subredes (incluida la red y la longitud del prefijo).
- OCCORE-JUMPHOSTS, que en el siguiente ejemplo se usa como
$OCCORE_JUMPHOSTS_NET - OCCORE-ILOS, usado en el siguiente ejemplo como
$OCCORE_ILOS_NET
Usa estos valores para ajustar las políticas de ruta rellenando las siguientes variables:
export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET
Por ejemplo:
export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27
Una vez definidas las variables de entorno, ejecuta los siguientes comandos kubectl para actualizar las políticas de ruta:
kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
--type=json -p="[
{
'op': 'add',
'path': '/spec/in/ipPrefixList/0',
'value': {
'action': 'Permit',
'ipPrefix': '${OCCORE_JUMPHOSTS_NET:?}',
'prefixLengthMatchers': [
{
'operator': 'LE',
'prefixLength': 32
}
]
}
}
]"
kubectl patch routepolicy/mgmtnetworkoperationcenter-routepolicy -n gpc-system \
--type=json -p="[
{
'op': 'add',
'path': '/spec/in/ipPrefixList/0',
'value': {
'action': 'Permit',
'ipPrefix': '${OCCORE_ILOS_NET:?}',
'prefixLengthMatchers': [
{
'operator': 'LE',
'prefixLength': 32
}
]
}
}
]"
Ejemplo:
routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched