El sistema de red incluye los siguientes componentes:
Red de gestión: red de gestión fuera de banda que incluye los dos tipos de interruptores siguientes:
- Interruptores de gestión
- Interruptores de agregación de gestión
Red del plano de datos: la red que transporta el tráfico de los usuarios e incluye los tres tipos de switches siguientes:
- Conmutadores de la parte superior del rack (TOR)
- Interruptores de agregación
- Interruptores de hoja de borde
Si el firmware actual de los interruptores no es de la versión esperada, el bootstrap de la red intenta llevar los interruptores a la versión esperada del SO de los interruptores para la versión aislada de Google Distributed Cloud (GDC).
12.1. Antes de empezar
Los interruptores pueden enviarse con los ajustes predeterminados de fábrica. Antes de empezar, restablece todos los interruptores para eliminar cualquier configuración. Para ello, conéctate mediante la consola serie y ejecuta el siguiente comando:
write erase
Después de eliminar la configuración del interruptor, vuelve a cargar el interruptor:
reload in 5
12.2. Instalación de la red
Sigue estos pasos para instalar la red:
- Enciende todos los interruptores.
Inicia el programa de arranque de la red con acceso
sudoroot en la máquina de arranque:gdcloud system network install --config PATH_TO_CELLCFG --upgrade-switch-osSustituye
PATH_TO_CELLCFGpor la ruta 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 solucionar este error:gdcloud system network init --config PATH_TO_CELLCFG
Mantén los interruptores activados. Los switches pasan por las secuencias de arranque de aprovisionamiento automático al encenderse (POAP) para instalarse automáticamente de forma remota desde la máquina de arranque.
Monitoriza el registro del programa de arranque para asegurarte de que los interruptores están activados en el siguiente orden:
- Interruptor de gestión
1. - Otros interruptores de gestión e interruptores de agregación de gestión.
- Conmutadores de red de datos.
- Interruptor de gestión
Sigue monitorizando el registro de arranque. Después de completar los pasos anteriores, los interruptores se conectarán. El programa de arranque instala configuraciones adicionales en los conmutadores de gestión y de datos a través de APIs.
Espera hasta que el registro de arranque muestre el mensaje
Successfully bootstrapped all switches.
12.3. Detalles de Bootstrap
Usa la secuencia de arranque de POAP para iniciar todos los interruptores de la red de la siguiente manera:
- Conecta la máquina de arranque al switch de gestión.
- Conecta el conmutador de agregación de gestión al conmutador de gestión.
- Conecta el resto de los conmutadores en el mismo rack.
- Conecta el conmutador de agregación de gestión a otro rack.
- Conecta todos los demás interruptores.
La máquina de arranque genera la configuración del switch con los archivos YAML de los switches en la ruta ./cellcfg. Todos los switches usan la secuencia de arranque de aprovisionamiento automático PowerOn (POAP) para recibir sus configuraciones. En el hardware 3.0, los conmutadores de red reciben un archivo POAP con sus configuraciones finales. Cuando los interruptores completen la prueba de POAP, se reiniciarán automáticamente.
Después del reinicio, los interruptores deben coincidir con los archivos YAML de los interruptores de la ruta ./cellcfg. La máquina de arranque envía solicitudes a todos los conmutadores para asegurarse de que la conectividad y la configuración de los conmutadores se realizan correctamente.
12.4. Configuración de rutas posteriores al arranque
Después del proceso de arranque de la red, configura las rutas del bootstrapper para prepararlo para las próximas tareas de arranque.
12.4.1. Buscar la pasarela del plano de datos
La pasarela de plano de datos es la dirección IP de la pasarela de la red del plano de datos. Configura la dirección IP de la pasarela para que se comunique con otros servicios de la red del plano de datos.
Para encontrar la dirección IP de la pasarela del plano de datos, sigue estos pasos:
- En la carpeta
cellcfg, ve 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_FILESustituye
PATH_TO_KUB_IPAM_FILEpor la ruta al archivocellcfg/kub-ipam.yaml.Busca la dirección IP de la pasarela en la sección
spec.ipv4Spec, que aparece comotype: GatewayReservation. Por ejemplo, la dirección IP de la pasarela de 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. Crear un script para las rutas en el Bootstrapper
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
Haz los cambios siguientes:
MGMT_GATEWAY: la dirección de la pasarela de la sección Buscar la IP de gestión, el CIDR y la dirección de la pasarela.MGMT_CIDR: el CIDR de gestión de la sección Buscar la dirección IP, el CIDR y la dirección de la puerta de enlace de gestiónMGMT_INTERFACE: un ejemplo de nombre de interfaz de gestión esens15f0. Se puede usar la dirección MAC encellcfg/serv-core.yamlpara identificar qué interfaz se usa en la red de gestión.DATA_GATEWAY: la dirección IP de la pasarela de la sección Buscar la pasarela 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 añaden son las siguientes:
- La ruta predeterminada a la red de datos a través de la interfaz
bond0. - Ruta a la red de gestión a través de la interfaz de gestión.
12.5. Establecer la conectividad multizona
Si la instancia de GDC se va a unir a un universo multizona, sigue los pasos que se indican en Configurar la interconexión multizona para cada zona con el fin de establecer la conectividad de red entre las zonas actuales y la zona que se está implementando.
12.6. Solución de problemas
Para solucionar problemas con el bootstrap de red, consulta Solución de problemas con el bootstrap de red.
12.7. Posible problema
Es posible que los switches de red que tengan precargada una versión inferior a la 9.3.10 no puedan iniciarse.
Para obtener más información, consulta Problemas conocidos.