Le système de réseau comprend les composants suivants :
Réseau de gestion : réseau de gestion hors bande qui inclut les deux types de commutateurs suivants :
- Interrupteurs de gestion
- Options d'agrégation de la gestion
Réseau du plan de données : réseau qui transporte le trafic utilisateur et qui inclut les trois types de commutateurs suivants :
- Commutateurs top-of-rack (TOR)
- Interrupteurs d'agrégation
- Commutateurs feuilles de bordure
Si le micrologiciel actuel des commutateurs n'est pas de la version attendue, l'amorçage du réseau tente de mettre les commutateurs à la version attendue de l'OS des commutateurs pour la version Google Distributed Cloud (GDC) air-gapped.
12.1. Avant de commencer
Les commutateurs peuvent être livrés avec les paramètres par défaut. Avant de commencer, réinitialisez tous les commutateurs pour supprimer toute configuration existante. Pour ce faire, connectez-vous à l'aide de la console série et exécutez la commande suivante :
write erase
Après avoir supprimé la configuration de commutateur existante, rechargez le commutateur :
reload in 5
12.2. Installation réseau
Suivez les étapes ci-dessous pour installer le réseau :
- Allumez tous les commutateurs.
Démarrez le programme d'amorçage du réseau avec l'accès racine
sudosur la machine d'amorçage :gdcloud system network install --config PATH_TO_CELLCFG --upgrade-switch-osRemplacez
PATH_TO_CELLCFGpar le chemin d'accès au fichiercellcfg.Si cette commande échoue et affiche le message d'erreur suivant :
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 matchExécutez à nouveau la commande
initpour résoudre cette erreur :gdcloud system network init --config PATH_TO_CELLCFG
Laissez les boutons sur "Activé". Les commutateurs suivent les séquences de démarrage PowerOn Auto Provisioning (POAP) pour s'installer automatiquement à distance à partir de la machine bootstrap.
Surveillez le journal du programme d'amorçage pour vous assurer que les commutateurs sont activés dans l'ordre suivant :
- Bouton de gestion
1. - Autres commutateurs de gestion et commutateurs d'agrégation de gestion.
- Commutateurs de réseau de données.
- Bouton de gestion
Continuez à surveiller le journal d'amorçage. Une fois les étapes précédentes effectuées, les commutateurs se connectent. Le programme d'amorçage installe des configurations supplémentaires sur les commutateurs de gestion et de données via des API.
Attendez que le message
Successfully bootstrapped all switches.s'affiche dans le journal d'amorçage.
12.3. Détails de l'amorçage
Utilisez la séquence de démarrage POAP pour amorcer tous les commutateurs du réseau comme suit :
- Connectez la machine d'amorçage au commutateur de gestion.
- Connectez le commutateur d'agrégation de gestion au commutateur de gestion.
- Connectez les autres commutateurs du même rack.
- Connectez le commutateur d'agrégation de gestion à un autre rack.
- Connectez tous les autres commutateurs.
La machine d'amorçage génère la configuration du commutateur avec les fichiers YAML pour les commutateurs dans le chemin d'accès ./cellcfg. Tous les commutateurs utilisent la séquence de démarrage PowerOn Auto Provisioning (POAP) pour recevoir leurs configurations. Dans la version 3.0 du matériel, les commutateurs réseau reçoivent un fichier POAP avec leurs configurations finales. Une fois que les commutateurs ont terminé le POAP, ils redémarrent automatiquement.
Après le redémarrage, les commutateurs doivent correspondre aux fichiers YAML des commutateurs dans le chemin d'accès ./cellcfg. La machine d'amorçage envoie des requêtes à tous les commutateurs pour s'assurer que la connectivité et la configuration des commutateurs sont correctes.
12.4. Configuration de la route après l'amorçage
Après le processus d'amorçage du réseau, configurez les routes du programme d'amorçage pour le préparer aux prochaines tâches d'amorçage.
12.4.1. Trouver la passerelle du plan de données
La passerelle de plan de données est l'adresse IP de passerelle pour le réseau de plan de données. Configurez l'adresse IP de la passerelle pour communiquer avec d'autres services du réseau du plan de données.
Pour trouver l'adresse IP de la passerelle du plan de données, procédez comme suit :
- Dans le dossier
cellcfg, accédez au fichierkub-ipam.yaml. Recherchez la ressource
SubnetClaimnomméecontrol-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_FILERemplacez
PATH_TO_KUB_IPAM_FILEpar le chemin d'accès au fichiercellcfg/kub-ipam.yaml.Recherchez l'adresse IP de la passerelle dans la section
spec.ipv4Spec, soustype: GatewayReservation. Par exemple, l'adresse IP de la passerelle pour l'interface du plan de données est172.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. Créer un script pour les routes sur le programme d'amorçage
Créez un script pour créer les routes :
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
Remplacez les éléments suivants :
MGMT_GATEWAY: adresse de la passerelle de la section Rechercher l'adresse IP, le CIDR et l'adresse de la passerelle de gestion.MGMT_CIDR: CIDR de gestion de la section Rechercher l'adresse IP, le CIDR et l'adresse de passerelle de gestionMGMT_INTERFACE: un exemple de nom d'interface de gestion estens15f0. Vous pouvez utiliser l'adresse MAC danscellcfg/serv-core.yamlpour identifier l'interface utilisée pour le réseau de gestion.DATA_GATEWAY: adresse IP de la passerelle à partir de la section Trouver la passerelle du plan de données.
Cet extrait crée un service systemd et un script comme suit :
SCRIPT_PATH="/usr/local/sbin/add-routes.sh
SERVICE_PATH="/usr/lib/systemd/system/add-routes.service
Le service systemd est nécessaire pour que les routes restent en place après le redémarrage du système.
Voici les routes ajoutées :
- Route par défaut vers le réseau de données via l'interface
bond0. - Route vers le réseau de gestion via l'interface de gestion.
12.5. Établir une connectivité multizone
Si l'instance GDC rejoint un univers multizone existant, suivez les étapes de la section Configurer l'interconnexion multizone pour chaque zone afin d'établir la connectivité réseau entre les zones existantes et la zone de déploiement actuelle.
12.6. Dépannage
Pour résoudre les problèmes liés à l'amorçage réseau, consultez Résoudre les problèmes d'amorçage réseau.
12.7. Problème potentiel
Les commutateurs réseau préchargés avec une version antérieure à 9.3.10 peuvent ne pas réussir l'amorçage.
Pour en savoir plus, consultez la section Problèmes connus.