El sistema de red incluye los siguientes componentes:
Red de administración: Es la red de administración fuera de banda que incluye los siguientes dos tipos de conmutadores:
- Interruptores de administración
- Interruptores de agregación de administración
Red del plano de datos: Es la red que transporta el tráfico del usuario y que incluye los siguientes tres tipos de conmutadores:
- Conmutadores de la parte superior del rack (TOR)
- Interruptores de agregación
- Interruptores de la Hoja de borde
Si el firmware actual de los conmutadores no es de la versión esperada, el arranque de la red intenta llevar los conmutadores a la versión esperada del SO del conmutador para la versión aislada de Google Distributed Cloud (GDC).
12.1. Antes de comenzar
Es posible que los conmutadores se envíen con la configuración predeterminada de fábrica. Antes de comenzar, restablece todos los interruptores para quitar cualquier configuración existente. Para ello, conéctate a través de la consola serie y ejecuta el siguiente comando:
write erase
Después de quitar la configuración del conmutador existente, vuelve a cargar el conmutador:
reload in 5
12.2. Instalación de la red
Sigue los siguientes pasos para la instalación de la red:
- Enciende todos los interruptores.
Inicia el programa de arranque de la red con acceso raíz
sudoen la máquina de arranque:gdcloud system network install --config PATH_TO_CELLCFG --upgrade-switch-osReemplaza
PATH_TO_CELLCFGpor la ruta de acceso al archivocellcfg.Si este comando falla y muestra el siguiente mensaje de error:
root@bootstrapper:~/hams/gdc/output/cellcfg# gdcloud system network install --config /root/hams/gdc/output/cellcfg --upgrade-switch-os Error: failed to initialize KIND: could not determine harbor address (no match between local and docker hostnames): could not find a matchVuelve a ejecutar el comando
initpara resolver este error:gdcloud system network init --config PATH_TO_CELLCFG
Mantén los interruptores encendidos. Los conmutadores pasan por las secuencias de inicio de PowerOn Auto Provisioning (POAP) para instalarse automáticamente de forma remota desde la máquina de arranque.
Supervisa el registro del programa de arranque para asegurarte de que los interruptores estén activados en el siguiente orden:
- Interruptor de administración
1. - Otros interruptores de administración y de agregación de administración
- Conmutadores de red de datos
- Interruptor de administración
Sigue supervisando el registro de arranque. Después de completar los pasos anteriores, los conmutadores se conectarán. El programa de arranque instala configuraciones adicionales en los conmutadores de administración y los conmutadores de datos a través de APIs.
Espera hasta que el registro de arranque muestre el mensaje
Successfully bootstrapped all switches..
12.3. Detalles del arranque
Usa la secuencia de inicio de POAP para iniciar todos los conmutadores de la red de la siguiente manera:
- Conecta la máquina de arranque al conmutador de administración.
- Conecta el conmutador de agregación de administración al conmutador de administración.
- Conecta el resto de los conmutadores en el mismo rack.
- Conecta el conmutador de agregación de administración a otro rack.
- Conecta todos los demás interruptores.
La máquina de arranque genera la configuración del conmutador con los archivos YAML de los conmutadores en la ruta de acceso ./cellcfg. Todos los conmutadores usan la secuencia de arranque de PowerOn Auto Provisioning (POAP) para recibir sus configuraciones. En el hardware 3.0, los conmutadores de red reciben un archivo POAP con sus configuraciones finales. Después de que los conmutadores completan la prueba de POAP, se reinician automáticamente.
Después del reinicio, los interruptores deben alinearse con los archivos YAML de los interruptores en la ruta de acceso ./cellcfg. La máquina de arranque envía solicitudes a todos los conmutadores para garantizar una conectividad y configuración correctas.
12.4. Configuración de ruta posterior al arranque
Después del proceso de inicio de la red, configura las rutas del programa de inicio para prepararlo para las próximas tareas de inicio.
12.4.1. Cómo encontrar la puerta de enlace del plano de datos
La puerta de enlace del plano de datos es la dirección IP de la puerta de enlace para la red del plano de datos. Configura la dirección IP de la puerta de enlace para comunicarte con otros servicios en la red del plano de datos.
Para encontrar la dirección IP de la puerta de enlace del plano de datos, sigue estos pasos:
- En la carpeta
cellcfg, navega al archivokub-ipam.yaml. Busca el recurso
SubnetClaimllamadocontrol-plane-subnet:yq eval -r ' select(.kind == "SubnetClaim" and .metadata.name == "control-plane-subnet") | .spec.ipv4Spec.staticReservedIpRanges[] | select(.type == "GatewayReservation") | .ipRange.startIPAddress ' PATH_TO_KUB_IPAM_FILEReemplaza
PATH_TO_KUB_IPAM_FILEpor la ruta de acceso al archivocellcfg/kub-ipam.yaml.Busca la dirección IP de la puerta de enlace en la sección
spec.ipv4Specque aparece comotype: GatewayReservation. Por ejemplo, la dirección IP de la puerta de enlace para la interfaz del plano de datos es172.19.0.1:# Source: kub-ipam-assets/templates/subnet_claims.yaml apiVersion: system.private.gdc.goog/v1alpha1 kind: SubnetClaim metadata: name: control-plane-subnet namespace: root labels: subnetclaims.system.private.gdc.goog/usage: "server" annotations: lcm.private.gdc.goog/claim-by-force: "true" helm.sh/resource-policy: keep spec: category: ExternalOverlayNetwork overlayNetwork: External cidrClaimName: control-plane-cidr ipv4Spec: staticReservedIpRanges: - ipRange: size: 1 startIPAddress: 172.19.0.1 type: GatewayReservation
12.4.2. Crea una secuencia de comandos para las rutas en el programa de arranque
Crea una secuencia de comandos para crear las rutas:
bash << 'EOF'
#!/bin/bash
SCRIPT_PATH="/usr/local/sbin/add-routes.sh"
SERVICE_PATH="/usr/lib/systemd/system/add-routes.service"
MGMT_GATEWAY=MGMT_GATEWAY
MGMT_CIDR=MGMT_CIDR
MGMT_INTERFACE=MGMT_INTERFACE
BOND_GATEWAY=DATA_GATEWAY
rm -rf "$SCRIPT_PATH" 2>/dev/null
touch "$SCRIPT_PATH"
rm -rf "$SERVICE_PATH" 2>/dev/null
touch "$SERVICE_PATH"
echo -e '#!/bin/bash\n' > "$SCRIPT_PATH"
echo "ip route del $MGMT_CIDR via $MGMT_GATEWAY dev $MGMT_INTERFACE proto static" >> "$SCRIPT_PATH"
echo "ip route add $MGMT_CIDR via $MGMT_GATEWAY dev $MGMT_INTERFACE proto static" >> "$SCRIPT_PATH"
echo "ip route del default via $BOND_GATEWAY dev bond0 proto static" >> "$SCRIPT_PATH"
echo "ip route add default via $BOND_GATEWAY dev bond0 proto static" >> "$SCRIPT_PATH"
chmod +x "$SCRIPT_PATH"
echo -e "[Unit]\nDescription=Add Routes Service\nAfter=network.target\n\n[Service]\nType=simple\nExecStart=/usr/local/sbin/add-routes.sh\n\n[Install]\nWantedBy=default.target" > "$SERVICE_PATH"
systemctl daemon-reload
systemctl enable add-routes.service
systemctl restart add-routes.service
echo -e "\n ### add-routes.sh script file path ###"
ls -l $SCRIPT_PATH
echo -e "\n ### add-routes.service file path ###"
ls -l $SERVICE_PATH
echo -e "\n ### add-routes.service status ###"
systemctl status add-routes.service
echo -e "\n ### Show if add-routes.service is enabled at boot ###"
systemctl is-enabled add-routes.service
echo -e "\n ### Show the just added route to ens15f0 ###"
ip route show | grep ens15f0
echo -e "\n ### Show the just added default route ###"
ip route show | grep default
EOF
Reemplaza lo siguiente:
MGMT_GATEWAY: La dirección de la puerta de enlace de la sección Cómo encontrar la IP de administración, el CIDR y la dirección de la puerta de enlaceMGMT_CIDR: Es el CIDR de administración de la sección Cómo encontrar la dirección IP, el CIDR y la puerta de enlace de administración.MGMT_INTERFACE: Un ejemplo de nombre de interfaz de administración esens15f0. Se puede usar la dirección MAC encellcfg/serv-core.yamlpara identificar qué interfaz se usa para la red de administración.DATA_GATEWAY: Es la dirección IP de la puerta de enlace de la sección Cómo encontrar la puerta de enlace del plano de datos.
Este fragmento crea un servicio systemd y una secuencia de comandos de la siguiente manera:
SCRIPT_PATH="/usr/local/sbin/add-routes.sh
SERVICE_PATH="/usr/lib/systemd/system/add-routes.service
El servicio systemd es necesario para mantener las rutas después de reiniciar el sistema.
Las rutas que se agregan incluyen las siguientes:
- Es la ruta predeterminada a la red de datos a través de la interfaz
bond0. - Es la ruta a la red de administración a través de la interfaz de administración.
12.5. Establece conectividad multizona
Si la instancia de GDC se une a un universo multizonal existente, sigue los pasos que se indican en Configura la interconexión multizonal para cada zona y establece la conectividad de red entre las zonas existentes y la zona de implementación actual.
12.6. Soluciona problemas
Para solucionar problemas del arranque de red, consulta Solución de problemas del arranque de red.
12.7. Posible problema
Es posible que los conmutadores de red precargados con una versión inferior a la 9.3.10 no puedan arrancar.
Para obtener más información, consulta Problemas conocidos.