Tempo estimado até à conclusão: 6 a 8 horas
Proprietário do componente operacional: PNET
2.8.1. Vista geral
Este passo do processo aprovisiona ficheiros de configuração que permitem que as redes da infraestrutura da Operations Suite (OI) e do GDC estabeleçam conetividade.
Estes passos requerem acesso a alguns ficheiros GDC, bem como conectividade ao cluster de administrador principal da instância do GDC para obter informações de rede de tempo de execução.
2.8.2. Antes de começar
Nesta fase do processo de implementação, o seguinte tem de ser verdadeiro:
Ambos os comutadores OIR estão ligados por cabo, ligados, atualizados para a versão adequada e têm as configurações de base e ACL aplicadas.
Ambas as firewalls OIF estão ligadas por cabo, ligadas à fonte de alimentação, atualizadas para a versão adequada, ativadas para o modo FIPS-CC e têm a configuração base aplicada.
Para concluir o aprovisionamento de conetividade do GDC, a instância do GDC tem de ter concluído o arranque da rede e ter sido movida do cluster do tipo para o cluster de administrador raiz.
2.8.3. Preparação
Prepare o ambiente para os passos seguintes reunindo as seguintes informações e definindo as variáveis de ambiente.
A OI pode ser ligada de duas formas: localmente ou remotamente.
Uma ligação local associa a OI ao GDC diretamente através de ligações de fibra entre racks no mesmo centro de dados.
Uma ligação remota liga-se a uma localização diferente através de transporte de longa distância.
Esta especificação pode ser fornecida no ficheiro interconnect.yaml, que é necessário para aprovisionar configurações de interconexão do GDC.
Este ficheiro contém todas as informações necessárias para configurar as interconexões do GDC.
2.8.3.1. Especificação YAML da interligação
| Atributo |
Descrição |
Exemplo |
|---|---|---|
zones[ ] mapa |
Informações sobre a célula do GDC à qual a implementação do OI tem de se ligar. Para estabelecer ligação a uma lista de células do GDC, especifique uma lista de zones com informações de cada célula do GDC em cada zona.
Opções de zona |
Exemplo:zones: |
2.8.3.2. Opções de zona
Contém informações sobre uma célula GDC no ficheiro interconnect.yaml:
| Atributo |
Descrição |
Utilização |
|---|---|---|
zoneNamestring |
Abreviatura da célula do GDC à qual a implementação do OI tem de se ligar. | zones: |
uplinkSpeeduint32 |
(Opcional) Indica a velocidade de carregamento da ligação: (10 ou 100).
|
Valores:10, 100Predefinição: 10uplinkSpeed: 100 |
localInstanceint |
O InstanceID do site de implementação da OI a partir do ficheiro ocit.yaml.Uma ligação local liga o site do rack principal da infraestrutura do Operations Suite (OIR) ao GDC diretamente através de ligações de fibra entre racks no mesmo centro de dados. |
zones: |
remoteInstance[ ] int |
InstanceID(s) do site de implementação da OI a partir do ficheiro ocit.yaml.Uma ligação remota liga-se a uma ou mais localizações diferentes através de transporte de longa distância. Pode fornecer uma lista de valores remoteInstance para que sejam geradas configurações para todos os sites de OIR de modo a estabelecer ligação às células de GDC fornecidas.
|
zones: zones: |
cellCfgstring |
O caminho de configuração da célula do GDC, que contém todas as informações sobre interconexões. Esta opção vai ser usada para gerar todas as configurações de interligação para a OIR. Se o `cellCfg` não for fornecido no ficheiro interconnect.yaml, a ferramenta occonfig usa a API Kubernetes no bootstrapper da célula GDC para obter informações de interconexão se `zoneName` corresponder à abreviatura da célula GDC. | zones: |
Se for uma ligação local, configure o ficheiro interconnect.yaml da seguinte forma:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
cellCfg: /path/to/cellcfg
Se for uma ligação remota, configure o ficheiro interconnect.yaml da seguinte forma:
zones:
- zoneName: ah
uplinkSpeed: 100
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
Para implementações de OI em vários sites, especifique o ficheiro interconnect.yaml da seguinte forma:
zones:
- zoneName: ah
uplinkSpeed: 100
localInstanceID: 1
remoteInstanceIDs:
- 2
cellCfg: /path/to/cellcfg
2.8.3.3. Opções de WAN
A tabela seguinte inclui informações sobre a L3-WAN no ficheiro interconnect.yaml.
Se aprovisionar as configurações de L3-WAN, certifique-se de que o indicador de funcionalidade L3-WAN gerado tem a funcionalidade ativada e o ASN wan-transit declarado.
| Atributo | Tipo | Descrição |
|---|---|---|
| wanName | de string | Nome da L3-WAN que se liga ao OIC. É usado para descrições em interfaces e relações de vizinhança BGP. |
| operationsCIDRs | [ ] CIDR | Conjunto de blocos CIDR esperados pela WAN de nível 3 e permitidos pela OIC. Isto ajuda a configurar a ligação entre o NOC do cliente e as estações de trabalho do OC. |
| instâncias | Configuração de cada instância que precisa de se ligar à L3-WAN. | |
| instanceID | int | ID da instância do OIC para a qual as configurações devem ser geradas para estabelecer ligação à L3-WAN fornecida. |
| bgp | Configuração de BGP da L3-WAN. | |
| asn | int | BGP ASN dos nós PE da L3-WAN para configurar ligações eBGP. |
| dispositivos | Configuração específica para cada comutador OCCORE. | |
| deviceName | de string | Nome do dispositivo, usado nas descrições. Deve ser igual ao nome do ficheiro de configuração gerado a partir do ficheiro ocit.yaml (ocit config generation). |
| uplinks | Configuração específica para portas que se ligam a nós PE de WAN de Nível 3. | |
| uplinkName | de string | Nome da interface usado para a descrição da interface. |
| bgpPassword | de string | Palavra-passe BGP para a interligação em texto não codificado. |
| ip | de string | Endereço IPv4 da porta local que se liga ao nó PE da L3-WAN. |
| gateway | de string | Endereço IPv4 da porta remota que se liga ao nó PE, também usado para o endereço do vizinho BGP. |
| sub-rede | de string | Definição da sub-rede da interface que estabelece ligação ao nó PE. |
| porta | int | Número da porta física no comutador OCCORE usado para estabelecer ligação ao nó PE. |
| subinterface | int | ID da subinterface (etiqueta dot1q) usado na parte superior da porta física (se existir). |
2.8.3.3.1. Exemplos de configurações
O exemplo seguinte mostra um ficheiro interconnect.yaml onde o Operations Suite Infrastructure Core Rack (OIR) estabelece uma relação de intercâmbio com uma L3-WAN, com dois elos de ligação ascendente em occoresw01 e um elo de ligação ascendente em 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. Gere configurações de comutadores
Estes passos geram configurações de patch a aplicar aos dispositivos de rede para aprovisionar a conetividade ao GDC.
Gere as configurações do comutador:
occonfigtool generate cell config -c /path/to/interconnect.yaml -o path/to/ocit.yaml
Isto gera os seguintes ficheiros de configuração para cada site:
| Ficheiros de configuração | Dispositivo | Função |
|---|---|---|
| occoresw101.incremental | occoresw101 | Configuração para aplicar patches ao dispositivo para a conetividade à instância do GDC |
| occoresw101.acl | occoresw101 | Configuração para aplicar patches às ACLs para a aplicação do tráfego com as redes GDC. |
| occoresw102.incremental | occoresw102 | Configuração para aplicar patches ao dispositivo para a conetividade à instância do GDC |
| occoresw102.acl | occoresw102 | Configuração para aplicar patches às ACLs para a aplicação do tráfego com as redes GDC. |
| ocsw101.incremental | ocs1w01 | Configuração para aplicar patches ao dispositivo para a conetividade à instância do GDC |
| ocsw101.acl | ocsw101 | Configuração para aplicar patches às ACLs para a aplicação do tráfego com as redes GDC. |
| ocsw102.incremental | ocsw102 | Configuração para aplicar patches ao dispositivo para a conetividade à instância do GDC |
| ocsw102.acl | ocsw102 | Configuração para aplicar patches às ACLs para a aplicação do tráfego com as redes GDC. |
2.8.5. Gere políticas de firewall
Para gerar as regras da firewall, o occonfigtool tem de aceder à API Kubernetes para o cluster de administrador principal. Certifique-se de que a variável de ambiente KUBECONFIG está definida como 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
Gere as regras de firewall executando o seguinte:
occonfigtool generate fwrules -c ${OCIT_INTERCONNECT_CONFIG_FILE:?} -o ${OCIT_CONFIG_FILE:?}
| Ficheiros de configuração | Dispositivo | Função |
|---|---|---|
| firewall-rules.base | occorefw01 | Configuração para aplicar patches ao dispositivo para a conetividade à instância do GDC |
2.8.6. Aplique configurações
Usando os ficheiros de saída, aplique a configuração aos dispositivos de rede respetivos através do mesmo procedimento que no passo anterior para comutadores e firewalls.
2.8.7. Atualize os recursos do GDC RoutePolicy
O GDC usa a política de encaminhamento para aplicar as redes que podem ser anunciadas na tabela de encaminhamento.
Quando adicionamos o OI como uma rede externa, temos de atualizar os RoutePolicyrecursos personalizados
para que esperem as novas redes.
Isto requer o acesso ao cluster de administrador principal através do kubectl. Certifique-se de que a variável KUBECONFIGadequada está definida:
export KUBECONFIG=/root/deploy/root-admin/root-admin-kubeconfig
Para confirmar, faça o seguinte:
kubectl get routepolicy -n gpc-system
Deve ver o seguinte resultado ou semelhante:
NAME AGE
customerpeering-routepolicy 19d
datacenter-routepolicy 19d
mgmtnetworkoperationcenter-routepolicy 19d
networkoperationcenter-routepolicy 19d
Para estes passos, vamos analisar o networkoperationcenter-routepolicy e o
mgmtnetworkoperationcenter-routepolicy.
2.8.7.1. Aplique patches às políticas de encaminhamento da rede de dados
A partir de ocinfo.opscenter.local.txt, obtenha as seguintes sub-redes (incluindo o prefixo de rede e o comprimento).
- OCCORE-SERVERS, usado no exemplo seguinte como
$OCCORE_SERVERS_NET - OC-WORKSTATIONS, usado no exemplo seguinte como
$OC_WORKSTATIONS_NET
Use estes valores para ajustar as políticas de rotas preenchendo as seguintes variáveis:
export OCCORE_SERVERS_NET=$OCCORE_SERVERS_NET
export OC_WORKSTATIONS_NET=$OC_WORKSTATIONS_NET
Por exemplo:
export OCCORE_SERVERS_NET=172.21.0.0/24
export OC_WORKSTATIONS_NET=172.21.32.0/24
Depois de definir as variáveis de ambiente, execute os seguintes kubectlcomandos
para atualizar as políticas de encaminhamento:
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
}
]
}
}
]"
Exemplo de saída:
routepolicy.system.private.gdc.goog/networkoperationcenter-routepolicy patched
2.8.7.2. Políticas de encaminhamento de rede de gestão de patches
A partir de ocinfo.opscenter.local.txt, obtenha as seguintes sub-redes (incluindo o prefixo de rede e o comprimento).
- OCCORE-JUMPHOSTS, usado no exemplo seguinte como
$OCCORE_JUMPHOSTS_NET - OCCORE-ILOS, usado no exemplo seguinte como
$OCCORE_ILOS_NET
Use estes valores para ajustar as políticas de rotas preenchendo as seguintes variáveis:
export OCCORE_JUMPHOSTS_NET=$OCCORE_JUMPHOSTS_NET
export OCCORE_ILOS_NET=$OCCORE_ILOS_NET
Por exemplo:
export OCCORE_JUMPHOSTS_NET=172.21.2.0/27
export OCCORE_ILOS_NET=172.21.2.32/27
Depois de definir as variáveis de ambiente, execute os seguintes comandos kubectl para atualizar as políticas de encaminhamento:
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
}
]
}
}
]"
Exemplo de saída:
routepolicy.system.private.gdc.goog/mgmtnetworkoperationcenter-routepolicy patched