Tempo stimato per il completamento: 6-8 ore
Proprietario del componente operativo: PNET
2.8.1. Panoramica
Questo passaggio del processo esegue il provisioning dei file di configurazione che consentono alle reti Operations Suite Infrastructure (OI) e GDC di stabilire la connettività.
Questi passaggi richiedono l'accesso ad alcuni file GDC e la connettività al cluster di amministrazione principale dell'istanza GDC per recuperare le informazioni di rete di runtime.
2.8.2. Prima di iniziare
In questa fase del processo di implementazione, devono verificarsi le seguenti condizioni:
Entrambi gli switch OIR sono collegati via cavo, accesi, aggiornati alla versione appropriata e hanno configurazioni di base e ACL applicate.
Entrambi i firewall OIF sono collegati con cavi, accesi, aggiornati alla versione appropriata, abilitati per la modalità FIPS-CC e hanno la configurazione di base applicata.
Per completare il provisioning dell'intera connettività GDC, l'istanza GDC deve aver completato il bootstrap di rete ed essere stata spostata dal cluster kind al cluster di amministrazione principale.
2.8.3. preparazione
Prepara l'ambiente per i passaggi successivi raccogliendo le seguenti informazioni e impostando le variabili di ambiente.
L'OI può essere connesso in due modi: localmente o da remoto.
Una connessione locale collega OI a GDC direttamente utilizzando connessioni in fibra ottica tra i rack nello stesso data center.
Una connessione remota si connette a una posizione diversa utilizzando il trasporto a lungo raggio.
Questa specifica può essere fornita nel file interconnect.yaml, necessario per il provisioning delle configurazioni di interconnessione GDC.
Questo file contiene tutte le informazioni necessarie per configurare le interconnessioni GDC.
2.8.3.1. Specifica YAML dell'interconnessione
| Attributo |
Descrizione |
Esempio |
|---|---|---|
zones[ ] map |
Informazioni sulla cella GDC a cui deve connettersi il deployment di OI. Per connettersi a un elenco di celle GDC, specifica un elenco di zones con le informazioni di ogni cella GDC in ogni zona.
Opzioni relative alla zona |
Esempio:zones: |
2.8.3.2. Opzioni relative alla zona
Contiene informazioni su una cella GDC nel file interconnect.yaml:
| Attributo |
Descrizione |
Utilizzo |
|---|---|---|
zoneNamestringa |
Abbreviazione della cella GDC a cui deve connettersi il deployment OI. | zones: |
uplinkSpeeduint32 |
(Facoltativo) Fornisce la velocità di caricamento della connessione: (10 o 100).
|
Valori:10, 100Predefinito: 10uplinkSpeed: 100 |
localInstanceint |
Il InstanceID del sito di deployment di OI dal file ocit.yaml.Una connessione locale collega il sito Operations Suite Infrastructure Core Rack (OIR) a GDC direttamente utilizzando connessioni in fibra tra i rack nello stesso data center. |
zones: |
remoteInstance[ ] int |
InstanceID(s) del sito di deployment di OI dal file ocit.yaml.Una connessione remota si connette a una o più località diverse utilizzando il trasporto a lungo raggio. Può essere fornito un elenco di valori remoteInstance, in modo che vengano generate configurazioni per tutti i siti OIR per connettersi alle celle GDC specificate.
|
zones: zones: |
cellCfgstringa |
Il percorso di configurazione della cella GDC, che contiene tutte le informazioni sugli interconnessioni. Verrà utilizzato per generare tutte le configurazioni di interconnessione per OIR. Se `cellCfg` non è fornito nel file interconnect.yaml, lo strumento occonfig utilizza l'API Kubernetes nel bootstrapper della cella GDC per recuperare le informazioni di interconnessione se `zoneName` corrisponde all'abbreviazione della cella GDC. | zones: |
Se si tratta di una connessione locale, configura il file interconnect.yaml come segue:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
cellCfg: /path/to/cellcfg
Se si tratta di una connessione remota, configura il file interconnect.yaml come segue:
zones:
- zoneName: ah
uplinkSpeed: 100
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
Per le implementazioni OI multiazienda, specifica il file interconnect.yaml come segue:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
2.8.3.3. Opzioni WAN
La seguente tabella include informazioni sulla L3-WAN nel file interconnect.yaml.
Se esegui il provisioning delle configurazioni L3-WAN, assicurati che le configurazioni di base generate abbiano il flag funzionalità L3-WAN abilitato e l'ASN wan-transit dichiarato.
| Attributo | Tipo | Descrizione |
|---|---|---|
| wanName | string | Nome della L3-WAN che si connette a OIC. Viene utilizzato per le descrizioni nelle interfacce e nelle relazioni di vicinato BGP. |
| operationsCIDRs | [ ] CIDR | Set di blocchi CIDR previsti dalla WAN L3 e consentiti da OIC. Ciò consente di configurare la connessione tra il NOC del cliente e OC-WORKSTATIONS. |
| istanze | Configurazione di ogni istanza che deve connettersi alla WAN di livello 3. | |
| instanceID | int | L'ID istanza dell'istanza OIC per cui devono essere generate le configurazioni per la connessione alla L3-WAN fornita. |
| bgp | Configurazione BGP della WAN L3. | |
| asn | int | ASN BGP dei nodi PE L3-WAN per configurare le connessioni eBGP. |
| dispositivi | Configurazione specifica per ogni interruttore OCCORE. | |
| deviceName | string | Nome del dispositivo, utilizzato nelle descrizioni. Deve essere uguale al nome del file di configurazione generato dal file ocit.yaml (ocit config generation). |
| uplinks | Configurazione specifica per le porte che si connettono ai nodi PE L3-WAN. | |
| uplinkName | string | Nome dell'interfaccia utilizzato per la descrizione dell'interfaccia. |
| bgpPassword | string | Password BGP per il peering in testo non crittografato. |
| ip | string | Indirizzo IPv4 della porta locale che si connette al nodo PE della rete WAN L3. |
| gateway | string | Indirizzo IPv4 della porta remota che si connette al nodo PE, utilizzato anche per l'indirizzo del vicino BGP. |
| subnet | string | Definizione della subnet dell'interfaccia che si connette al nodo PE. |
| porta | int | Numero di porta fisica sullo switch OCCORE utilizzato per connettersi al nodo PE. |
| interfaccia secondaria | int | ID della sottointerfaccia (tag dot1q) utilizzato sopra la porta fisica (se presente). |
2.8.3.3.1. Configurazioni di esempio
L'esempio seguente mostra un file interconnect.yaml in cui l'Operations Suite Infrastructure Core Rack (OIR) esegue il peering con una WAN L3, con due uplink su occoresw01 e un uplink su 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 configurazioni dello switch
Questi passaggi generano configurazioni di patch da applicare ai dispositivi di rete per eseguire il provisioning della connettività a GDC.
Genera le configurazioni dello switch:
occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml
Vengono generati i seguenti file di configurazione per ogni sito:
| File di configurazione | Dispositivo | Funzione |
|---|---|---|
| occoresw101.incremental | occoresw101 | Configurazione per applicare patch al dispositivo per la connettività all'istanza GDC |
| occoresw101.acl | occoresw101 | Configurazione per applicare patch agli elenchi di controllo dell'accesso per l'applicazione del traffico con le reti GDC. |
| occoresw102.incremental | occoresw102 | Configurazione per applicare patch al dispositivo per la connettività all'istanza GDC |
| occoresw102.acl | occoresw102 | Configurazione per applicare patch agli elenchi di controllo dell'accesso per l'applicazione del traffico con le reti GDC. |
| ocsw101.incremental | ocs1w01 | Configurazione per applicare patch al dispositivo per la connettività all'istanza GDC |
| ocsw101.acl | ocsw101 | Configurazione per applicare patch agli elenchi di controllo dell'accesso per l'applicazione del traffico con le reti GDC. |
| ocsw102.incremental | ocsw102 | Configurazione per applicare patch al dispositivo per la connettività all'istanza GDC |
| ocsw102.acl | ocsw102 | Configurazione per applicare patch agli elenchi di controllo dell'accesso per l'applicazione del traffico con le reti GDC. |
2.8.5. Genera policy firewall
Per generare le regole firewall, occonfigtool deve accedere all'API Kubernetes per il cluster di amministrazione principale. Assicurati che la variabile di ambiente KUBECONFIG sia impostata su 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
Genera le regole firewall eseguendo questo comando:
occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
| File di configurazione | Dispositivo | Funzione |
|---|---|---|
| firewall-rules.base | occorefw01 | Configurazione per applicare patch al dispositivo per la connettività all'istanza GDC |
2.8.6. Applica configurazioni
Utilizzando i file di output, applica la configurazione ai rispettivi dispositivi di rete utilizzando la stessa procedura del passaggio precedente per switch e firewall.
2.8.7. Aggiorna le risorse GDC RoutePolicy
GDC utilizza i criteri di route per imporre le reti autorizzate a essere pubblicizzate nella tabella di routing.
Quando aggiungiamo OI come rete esterna, dobbiamo aggiornare le risorse personalizzate RoutePolicy
in modo che prevedano le nuove reti.
Per farlo è necessario accedere al cluster di amministrazione principale utilizzando kubectl. Assicurati che sia impostata la variabile KUBECONFIG appropriata:
export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig
Per confermare, procedi nel seguente modo:
kubectl get routepolicy -n gpc-system
Dovresti visualizzare l'output seguente o uno simile:
NAME AGE
customerpeering-routepolicy 19d
datacenter-routepolicy 19d
mgmtnetworkoperationcenter-routepolicy 19d
networkoperationcenter-routepolicy 19d
Per questi passaggi, esamineremo networkoperationcenter-routepolicy e
mgmtnetworkoperationcenter-routepolicy.
2.8.7.1. Applicare patch alle policy di route della rete di dati
Da ocinfo.opscenter.local.txt, recupera le seguenti subnet (inclusi
la rete e la lunghezza del prefisso).
- OCCORE-SERVERS, utilizzato nel seguente esempio come
$OCCORE_SERVERS_NET - OC-WORKSTATIONS, utilizzato nel seguente esempio come
$OC_WORKSTATIONS_NET
Utilizza questi valori per modificare i criteri di routing compilando le seguenti variabili:
export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET
Ad esempio:
export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24
Dopo aver impostato le variabili di ambiente, esegui i seguenti comandi kubectl
per aggiornare i criteri di routing:
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
}
]
}
}
]"
Output di esempio:
routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched
2.8.7.2. Policy di routing di rete per la gestione delle patch
Da ocinfo.opscenter.local.txt, recupera le seguenti subnet (inclusi
la rete e la lunghezza del prefisso).
- OCCORE-JUMPHOSTS, utilizzato nel seguente esempio come
$OCCORE_JUMPHOSTS_NET - OCCORE-ILOS, utilizzato nel seguente esempio come
$OCCORE_ILOS_NET
Utilizza questi valori per modificare i criteri di routing compilando le seguenti variabili:
export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET
Ad esempio:
export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27
Dopo aver impostato le variabili di ambiente, esegui i seguenti comandi kubectl per aggiornare le norme di routing:
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
}
]
}
}
]"
Output di esempio:
routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched