Durée estimée : 6 à 8 heures
Propriétaire du composant exploitable : PNET
2.8.1. Présentation
Cette étape du processus provisionne les fichiers de configuration qui permettent aux réseaux Operations Suite Infrastructure (OI) et GDC d'établir une connectivité.
Ces étapes nécessitent d'accéder à certains fichiers GDC et d'être connecté au cluster d'administration racine de l'instance GDC pour récupérer les informations sur le réseau d'exécution.
2.8.2. Avant de commencer
À cette étape du processus de déploiement, les conditions suivantes doivent être remplies :
Les deux commutateurs OIR sont câblés, alimentés, mis à niveau vers la version appropriée et ont des configurations de base et ACL appliquées.
Les deux pare-feu OIF sont câblés, mis sous tension, mis à niveau vers la version appropriée, activés pour le mode FIPS-CC et la configuration de base est appliquée.
Pour que l'intégralité du provisionnement de la connectivité GDC soit effectuée, l'instance GDC doit avoir terminé l'amorçage réseau et avoir quitté le cluster kind pour passer au cluster d'administrateur racine.
2.8.3. Préparation
Préparez l'environnement pour les étapes suivantes en rassemblant les informations ci-dessous et en définissant les variables d'environnement.
Vous pouvez connecter l'OI de deux manières : localement ou à distance.
Une connexion locale connecte OI à GDC directement à l'aide de connexions fibre entre les racks du même centre de données.
Une connexion à distance se connecte à un autre emplacement à l'aide d'un transport longue distance.
Cette spécification peut être fournie dans le fichier interconnect.yaml, qui est nécessaire pour provisionner les configurations d'interconnexion GDC.
Ce fichier contient toutes les informations nécessaires pour configurer les interconnexions GDC.
2.8.3.1. Spécification YAML de l'interconnexion
| Attribut |
Description |
Exemple |
|---|---|---|
zones[ ] map |
Informations sur la cellule GDC à laquelle le déploiement OI doit se connecter. Pour vous connecter à une liste de cellules GDC, spécifiez une liste de zones avec des informations sur chaque cellule GDC dans chaque zone.
Options de zone |
Exemple :zones: |
2.8.3.2. Options de zone
Contient des informations sur une cellule GDC dans le fichier interconnect.yaml :
| Attribut |
Description |
Utilisation |
|---|---|---|
zoneNamestring |
Abréviation de la cellule GDC à laquelle le déploiement OI doit se connecter. | zones: |
uplinkSpeeduint32 |
(Facultatif) Indique la vitesse de connexion en liaison montante (10 ou 100).
|
Valeurs :10, 100Valeur par défaut : 10uplinkSpeed: 100 |
localInstanceint |
Le InstanceID du site de déploiement OI à partir du fichier ocit.yaml.Une connexion locale relie le site OIR (Operations Suite Infrastructure Core Rack) au GDC directement à l'aide de connexions fibre optique entre les racks d'un même centre de données. |
zones: |
remoteInstance[ ] int |
InstanceID(s) du site de déploiement OI à partir du fichier ocit.yaml.Une connexion à distance se connecte à un ou plusieurs autres lieux à l'aide d'un transport longue distance. Une liste de valeurs remoteInstance peut être fournie, de sorte que les configurations de tous les sites OIR sont générées pour se connecter aux cellules GDC données.
|
zones: zones: |
cellCfgstring |
Chemin d'accès à la configuration de cellule GDC, qui contient toutes les informations sur les interconnexions. Cela servira à générer toutes les configurations d'interconnexion pour OIR.\ Si `cellCfg` n'est pas fourni dans le fichier interconnect.yaml, l'outil occonfig utilise l'API Kubernetes dans le programme d'amorçage de cellule GDC pour récupérer les informations d'interconnexion si `zoneName` correspond à l'abréviation de la cellule GDC. | zones: |
S'il s'agit d'une connexion locale, configurez le fichier interconnect.yaml comme suit :
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
cellCfg: /path/to/cellcfg
S'il s'agit d'une connexion à distance, configurez le fichier interconnect.yaml comme suit :
zones:
- zoneName: ah
uplinkSpeed: 100
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
Pour les déploiements OI multisites, spécifiez le fichier interconnect.yaml comme suit :
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
2.8.3.3. Options WAN
Le tableau suivant contient des informations sur le réseau étendu de niveau 3 dans le fichier interconnect.yaml.
Si vous provisionnez les configurations L3-WAN, assurez-vous que l'option L3-WAN est activée dans les configurations de base générées et que l'ASN wan-transit est déclaré.
| Attribut | Type | Description |
|---|---|---|
| wanName | chaîne | Nom du réseau L3-WAN qui se connecte à OIC. Il est utilisé pour les descriptions dans les interfaces et les relations de voisinage BGP. |
| operationsCIDRs | [ ] CIDR | Ensemble de blocs CIDR attendus par le réseau WAN de niveau 3 et autorisés par OIC. Cela permet d'établir la connexion entre le NOC du client et les OC-WORKSTATIONS. |
| instances | Configuration de chaque instance devant se connecter au L3-WAN. | |
| instanceID | int | ID d'instance de l'instance OIC pour laquelle les configurations doivent être générées afin de se connecter au réseau L3-WAN fourni. |
| bgp | Configuration BGP du L3-WAN. | |
| asn | int | ASN BGP des nœuds PE L3-WAN pour configurer les connexions eBGP. |
| appareils | Configuration spécifique pour chaque commutateur OCCORE. | |
| deviceName | chaîne | Nom de l'appareil, utilisé dans les descriptions. Doit être égal au nom du fichier de configuration généré à partir du fichier ocit.yaml (ocit config generation). |
| uplinks | Configuration spécifique pour les ports qui se connectent aux nœuds PE L3-WAN. | |
| uplinkName | chaîne | Nom de l'interface utilisé pour la description de l'interface. |
| bgpPassword | chaîne | Mot de passe BGP pour l'appairage en texte clair. |
| ip | chaîne | Adresse IPv4 du port local se connectant au nœud PE du réseau L3-WAN. |
| passerelle | chaîne | Adresse IPv4 du port distant se connectant au nœud PE, également utilisée pour l'adresse du voisin BGP. |
| sous-réseau | chaîne | Définition du sous-réseau de l'interface se connectant au nœud PE. |
| port | int | Numéro de port physique sur le commutateur OCCORE utilisé pour se connecter au nœud PE. |
| sous-interface | int | ID de sous-interface (balise dot1q) utilisé en plus du port physique (le cas échéant). |
2.8.3.3.1. Exemples de configurations
L'exemple suivant montre un fichier interconnect.yaml où le rack OIR (Operations Suite Infrastructure Core) est associé à un réseau L3-WAN, avec deux liaisons ascendantes sur occoresw01 et une liaison ascendante sur 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. Générer des configurations de commutateur
Ces étapes génèrent des configurations de correctifs à appliquer aux périphériques réseau afin de provisionner la connectivité à GDC.
Générez les configurations de commutateur :
occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml
Cela génère les fichiers de configuration suivants pour chaque site :
| Fichier(s) de configuration | Appareil | Fonction |
|---|---|---|
| occoresw101.incremental | occoresw101 | Configuration permettant de corriger l'appareil pour la connectivité à l'instance GDC |
| occoresw101.acl | occoresw101 | Configuration permettant de corriger les LCA pour l'application du trafic avec les réseaux GDC. |
| occoresw102.incremental | occoresw102 | Configuration permettant de corriger l'appareil pour la connectivité à l'instance GDC |
| occoresw102.acl | occoresw102 | Configuration permettant de corriger les LCA pour l'application du trafic avec les réseaux GDC. |
| ocsw101.incremental | ocs1w01 | Configuration permettant de corriger l'appareil pour la connectivité à l'instance GDC |
| ocsw101.acl | ocsw101 | Configuration permettant de corriger les LCA pour l'application du trafic avec les réseaux GDC. |
| ocsw102.incremental | ocsw102 | Configuration permettant de corriger l'appareil pour la connectivité à l'instance GDC |
| ocsw102.acl | ocsw102 | Configuration permettant de corriger les LCA pour l'application du trafic avec les réseaux GDC. |
2.8.5. Générer des stratégies de pare-feu
Pour générer les règles de pare-feu, occonfigtool doit accéder à l'API Kubernetes pour le cluster d'administrateur racine. Assurez-vous que la variable d'environnement KUBECONFIG est définie sur 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
Générez les règles de pare-feu en exécutant la commande suivante :
occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
| Fichier(s) de configuration | Appareil | Fonction |
|---|---|---|
| firewall-rules.base | occorefw01 | Configuration permettant de corriger l'appareil pour la connectivité à l'instance GDC |
2.8.6. Appliquer des configurations
À l'aide des fichiers de sortie, appliquez la configuration aux périphériques réseau respectifs en suivant la même procédure que celle de l'étape précédente pour les commutateurs et les pare-feu.
2.8.7. Mettre à jour les ressources RoutePolicy des centres de données Google
GDC utilise une règle de route pour déterminer les réseaux qui peuvent être annoncés dans la table de routage.
Lorsque nous ajoutons OI en tant que réseau externe, nous devons mettre à jour les ressources personnalisées RoutePolicy pour qu'elles s'attendent aux nouveaux réseaux.
Pour ce faire, vous devez accéder au cluster d'administrateur racine à l'aide de kubectl. Assurez-vous que la variable KUBECONFIG appropriée est définie :
export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig
Pour confirmer, procédez comme suit :
kubectl get routepolicy -n gpc-system
Vous devriez obtenir un résultat semblable à celui-ci :
NAME AGE
customerpeering-routepolicy 19d
datacenter-routepolicy 19d
mgmtnetworkoperationcenter-routepolicy 19d
networkoperationcenter-routepolicy 19d
Pour ces étapes, nous allons examiner networkoperationcenter-routepolicy et mgmtnetworkoperationcenter-routepolicy.
2.8.7.1. Corriger les règles de routage du réseau de données
À partir de ocinfo.opscenter.local.txt, récupérez les sous-réseaux suivants (y compris le réseau et la longueur du préfixe).
- OCCORE-SERVERS, utilisé dans l'exemple suivant comme
$OCCORE_SERVERS_NET - OC-WORKSTATIONS, utilisé dans l'exemple suivant comme
$OC_WORKSTATIONS_NET
Utilisez ces valeurs pour ajuster les règles de routage en renseignant les variables suivantes :
export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET
Exemple :
export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24
Une fois les variables d'environnement définies, exécutez les commandes kubectl suivantes pour mettre à jour les règles de routage :
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
}
]
}
}
]"
Exemple de résultat :
routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched
2.8.7.2. Règles de routage réseau pour la gestion des correctifs
À partir de ocinfo.opscenter.local.txt, récupérez les sous-réseaux suivants (y compris le réseau et la longueur du préfixe).
- OCCORE-JUMPHOSTS, utilisé dans l'exemple suivant comme
$OCCORE_JUMPHOSTS_NET - OCCORE-ILOS, utilisé dans l'exemple suivant comme
$OCCORE_ILOS_NET
Utilisez ces valeurs pour ajuster les règles de routage en renseignant les variables suivantes :
export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET
Exemple :
export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27
Une fois les variables d'environnement définies, exécutez les commandes kubectl suivantes pour mettre à jour les règles de routage :
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
}
]
}
}
]"
Exemple de résultat :
routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched