Tiempo estimado para completar la actividad: de 6 a 8 horas
Propietario del componente operable: PNET
2.8.1. Descripció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.
Estos pasos requieren acceso a algunos archivos de GDC, así como conectividad al clúster de administrador raíz de la instancia de GDC para recuperar la información de red del tiempo de ejecución.
2.8.2. Antes de comenzar
En esta etapa del proceso de implementación, se deben cumplir los siguientes requisitos:
Ambos conmutadores OIR están conectados con cables, encendidos, actualizados a la versión adecuada y tienen aplicada la configuración base y de ACL.
Ambos firewalls de OIF están conectados con cables, encendidos, actualizados a la versión adecuada, habilitados para el modo FIPS-CC y tienen aplicada la configuración básica.
Para completar el aprovisionamiento de conectividad de GDC, la instancia de GDC debe haber completado el arranque de red y haber salido del clúster de tipo y pasado al clúster de administrador raíz.
2.8.3. Preparación
Prepara el entorno para los siguientes pasos. Para ello, recopila la siguiente información y configura las variables de entorno.
La OI se puede conectar de dos maneras: de forma local o remota.
Una conexión local conecta OI a GDC directamente a través de conexiones de fibra entre los racks del mismo centro de datos.
Una conexión remota se conecta a una ubicación diferente a través de 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 de YAML de interconexión
| Atributo |
Descripción |
Ejemplo |
|---|---|---|
Mapa de zones[ ] |
Es la información sobre la celda de GDC a la que se debe conectar la implementación de OI. Para conectarse a una lista de celdas de GDC, especifica 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 |
Es la abreviatura de la celda del GDC a la que se debe conectar la implementación del OI. | zones: |
uplinkSpeeduint32 |
(Opcional) Proporciona la velocidad de carga 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 del rack principal de la infraestructura de Operations Suite (OIR) al GDC directamente a través de conexiones de fibra entre los 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 a través de transporte de larga distancia. Se puede proporcionar una lista de valores de remoteInstance, de modo que se generen configuraciones para todos los sitios de la OIR para conectarse a las celdas de GDC determinadas.
|
zones: zones: |
cellCfgstring |
Es la ruta de acceso de la 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 para OIR.\ Si no se proporciona `cellCfg` en el archivo interconnect.yaml, la herramienta occonfig usa la API de Kubernetes en el programa de arranque de la celda de GDC para recuperar la 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
Para las implementaciones de OI en varios sitios, 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
En la siguiente tabla, se incluye información sobre la WAN de L3 en el archivo interconnect.yaml.
Si aprovisionas las configuraciones de L3-WAN, asegúrate de que las configuraciones básicas generadas tengan habilitada la marca de función L3-WAN y declarado el ASN wan-transit.
| Atributo | Tipo | Descripción |
|---|---|---|
| wanName | string | Nombre de la WAN de L3 que se conecta a la OIC. Se usa para las descripciones en las interfaces y las relaciones de adyacencia de BGP. |
| operationsCIDRs | [ ] CIDR | Es el conjunto de bloques CIDR que espera la WAN de L3 y que permite la OIC. Esto ayuda a configurar la conexión entre el NOC del cliente y las OC-WORKSTATIONS. |
| instancias | Configuración de cada instancia que necesita conectarse a la WAN de L3 | |
| instanceID | int | Es el ID de la instancia de OIC para la que se generarán las configuraciones para conectarse a la WAN de capa 3 proporcionada. |
| bgp | Configuración de BGP de la WAN de L3. | |
| asn | int | Es el ASN de BGP de los nodos PE de L3-WAN para configurar conexiones de eBGP. |
| dispositivos | Es la configuración específica para cada conmutador de OCCORE. | |
| deviceName | string | 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). |
| vínculos de carga | Es la configuración específica para los puertos que se conectan a los nodos PE de la WAN de L3. | |
| uplinkName | string | Nombre de la interfaz que se usa para la descripción de la interfaz. |
| bgpPassword | string | Contraseña de BGP para el intercambio de tráfico en texto no encriptado. |
| ip | string | Es la dirección IPv4 del puerto local que se conecta al nodo PE de la WAN de capa 3. |
| puerta de enlace | string | Dirección IPv4 del puerto remoto que se conecta al nodo PE. También se usa para la dirección del vecino de BGP. |
| subred | string | Es la definición de subred de la interfaz que se conecta al nodo PE. |
| puerto | int | Número de puerto físico del conmutador OCCORE que se usa para conectarse al nodo PE. |
| subinterfaz | int | ID de subinterfaz (etiqueta dot1q) que se usa sobre el puerto físico (si corresponde). |
2.8.3.3.1. Configuración de ejemplo
En el siguiente ejemplo, se muestra un archivo interconnect.yaml en el que el bastidor principal de la infraestructura de Operations Suite (OIR) se conecta con una WAN de L3, con dos vínculos ascendentes en occoresw01 y un vínculo 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. Genera configuraciones de conmutador
Estos pasos generan configuraciones de parches para aplicar a los dispositivos de red y, así, aprovisionar la conectividad al GDC.
Genera las configuraciones del conmutador:
occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml
Esto genera los siguientes archivos de configuración para cada sitio:
| Archivos de configuración | Dispositivo | Función |
|---|---|---|
| occoresw101.incremental | occoresw101 | Configuración para aplicar parches al dispositivo para la conectividad a la instancia de GDC |
| occoresw101.acl | occoresw101 | Es la configuración para aplicar parches a las ACL para la aplicación del tráfico con las redes de GDC. |
| occoresw102.incremental | occoresw102 | Configuración para aplicar parches al dispositivo para la conectividad a la instancia de GDC |
| occoresw102.acl | occoresw102 | Es la configuración para aplicar parches a las ACL para la aplicación del tráfico con las redes de GDC. |
| ocsw101.incremental | ocs1w01 | Configuración para aplicar parches al dispositivo para la conectividad a la instancia de GDC |
| ocsw101.acl | ocsw101 | Es la configuración para aplicar parches a las ACL para la aplicación del tráfico con las redes de GDC. |
| ocsw102.incremental | ocsw102 | Configuración para aplicar parches al dispositivo para la conectividad a la instancia de GDC |
| ocsw102.acl | ocsw102 | Es la configuración para aplicar parches a las ACL para la aplicación del tráfico con las redes de GDC. |
2.8.5. Genera políticas de firewall
Para generar las reglas de firewall, occonfigtool debe acceder a la API de Kubernetes del clúster de administrador raíz. Asegúrate de que la variable de entorno KUBECONFIG esté configurada en 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 firewall, ejecuta el siguiente comando:
occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
| Archivos de configuración | Dispositivo | Función |
|---|---|---|
| firewall-rules.base | occorefw01 | Configuración para aplicar parches al dispositivo para la conectividad a la instancia de GDC |
2.8.6. Aplica configuraciones
Con los archivos de salida, aplica la configuración a los dispositivos de red respectivos con el mismo procedimiento que en el paso anterior para los conmutadores y los firewalls.
2.8.7. Actualiza los recursos de RoutePolicy de los GDC
GDC usa la política de rutas para aplicar qué redes pueden anunciarse en la tabla de enrutamiento.
Cuando agregamos OI como una red externa, debemos actualizar los recursos personalizados de RoutePolicy para que esperen las nuevas redes.
Esto requiere acceder al clúster de administrador raíz con kubectl. Asegúrate de que la variable KUBECONFIG adecuada esté configurada:
export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig
Para confirmar, haz lo siguiente:
kubectl get routepolicy -n gpc-system
Deberías ver el siguiente resultado o uno similar:
NAME AGE
customerpeering-routepolicy 19d
datacenter-routepolicy 19d
mgmtnetworkoperationcenter-routepolicy 19d
networkoperationcenter-routepolicy 19d
En estos pasos, analizaremos los elementos networkoperationcenter-routepolicy y mgmtnetworkoperationcenter-routepolicy.
2.8.7.1. Aplica parches a las políticas de rutas de la red de datos
Desde 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 se usa en el siguiente ejemplo como
$OC_WORKSTATIONS_NET
Usa estos valores para ajustar las políticas de rutas completando 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
Después de configurar las variables de entorno, ejecuta los siguientes comandos de 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
}
]
}
}
]"
Resultado de ejemplo:
routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched
2.8.7.2. Políticas de rutas de red de administración de parches
Desde ocinfo.opscenter.local.txt, recupera las siguientes subredes (incluida la red y la longitud del prefijo).
- OCCORE-JUMPHOSTS, que se usa en el siguiente ejemplo como
$OCCORE_JUMPHOSTS_NET - OCCORE-ILOS, que se usa en el siguiente ejemplo como
$OCCORE_ILOS_NET
Usa estos valores para ajustar las políticas de rutas completando 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
Después de configurar las variables de entorno, ejecuta los siguientes comandos de kubectl para actualizar las políticas de rutas:
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
}
]
}
}
]"
Resultado de ejemplo:
routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched