Tempo estimado para a conclusão: 3 dias
Proprietário do componente operacional: INV
Perfil de habilidade: engenheiro de implantação
A cellconfig é necessária para inicializar a instância com isolamento físico do Google Distributed Cloud (GDC). Ele define o conjunto inicial de objetos da API Distributed Cloud, incluindo dispositivos de hardware de instância e configuração de rede.
A cellconfig é formatada como um conjunto de recursos personalizados do Kubernetes organizados em um diretório de arquivos YAML.
Para executar comandos da CLI gdcloud, crie um diretório de trabalho na pasta/root e mude a variável $PATH com o seguinte comando:
PATH=$PATH:/root/WORKING_DIRECTORY
7.1. Visão geral
Para criar uma cellconfig do Distributed Cloud, siga estas etapas:
- Verifique o recebimento do arquivo de especificação do dispositivo de hardware: devices.csv.
- Verifique o recebimento do arquivo de especificação de cabeamento de rede: cables.csv.
- Gere o arquivo do questionário de entrada do cliente (CIQ): ciq.yaml.
- Gere o arquivo de secrets da instância: secrets.yaml.
- Verifique o recebimento do diretório de licenças de dispositivos: licenses/.
- Execute o comando
gdcloud system assets createcom as entradas anteriores para criar uma cellconfig.
O arquivo devices.csv (identificação do dispositivo) era conhecido como arquivo deid.csv. É possível converter o arquivo anterior para o novo formato com o comando
gdcloud system assets format-deid.
7.1.1. devices.csv
O arquivo "devices.csv" especifica todos os dispositivos de hardware em uma instância do Distributed Cloud. Consulte a documentação devices.csv para uma descrição completa do arquivo e do formato esperado.
7.1.2. cables.csv
O arquivo cables.csv detalha todas as conexões entre os dispositivos de hardware em uma instância do Distributed Cloud. Consulte a documentação de cables.csv para uma descrição completa do arquivo e do formato esperado.
7.1.2.1. Especificação de uplink
Dependendo das configurações especificadas no ciq, modifique o conjunto de conexões de dados especificado no arquivo cables.csv.
Primeiro, determine o número de uplinks de dados necessários:
- São necessários dois uplinks para cada switch de folha de borda (4x no total) para que todas as instâncias do Distributed Cloud forneçam conectividade à rede de dados do cliente.
- São necessários dois uplinks para cada switch de borda (quatro no total) se a conectividade com uma instância local do OCIT estiver configurada.
- São necessários dois uplinks para cada switch de borda (quatro no total) para conectividade OIC remota.
Em seguida, determine o número de uplinks de gerenciamento necessários.
- São necessários dois uplinks para cada switch de agregação de gerenciamento (4x no total) se a conectividade com uma instância local do OIC estiver configurada.
- São necessários dois uplinks para cada switch de agregação de gerenciamento (total de quatro) se a conectividade com o OCIT remoto estiver configurada.
Por exemplo, se a instância atual do Distributed Cloud estiver conectada a um OCIT local, tiver peering com outras instâncias do Distributed Cloud usando interconexões multizona e também estiver conectada a instâncias remotas do OCIT, então:
- São necessários seis uplinks para cada switch de borda (12 uplinks de dados no total).
- São necessários quatro uplinks para cada switch de agregação de gerenciamento (total de oito uplinks de gerenciamento).
Cada conexão externa consiste em dois cabos que correspondem a duas linhas em cables.csv:
- Um cabo que conecta o switch à parte de trás do painel de conexão no mesmo rack do switch. Por exemplo:
36,kb-ab-aggsw01,Eth1/31,41,kb-ab-ppl01,c4-smf-port1-bk,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),back,kb-ab-aggsw01:Eth1/31<>kb-ab-ppl01:c4-smf-port1-bk- Para essa conexão, a porta do dispositivo de patch panel precisa ter o sufixo
-bk.
- Um cabo que conecta a frente do painel de conexão a um dispositivo externo "pseudo"
36,kb-ab-ppl01,c4-smf-port1-ft,41,ext-kb-ab-aggsw01,Eth1/31,(1) R8T17A + (1) R8S79A,(1) QSFP-100G-CWDM4-S + (1) F92ERQ1Q1SNM001,1 meter,,SMF,flag,Right,Link to Customer Border 05 (100G),front,kb-ab-ppl01:c4-smf-port1-ft<>ext-kb-ab-aggsw01:Eth1/31- Para essa conexão, a porta do dispositivo do patch panel precisa ser a mesma da primeira conexão, mas com o sufixo
-ftem vez de-bk. - Para essa conexão, o nome do dispositivo externo "pseudo" precisa seguir o padrão:
ext-<name-of-originating-switch>. - Para essa conexão, a porta do dispositivo externo "pseudo" precisa corresponder à porta de origem no switch.
Conte o número total de conexões de uplink necessárias e verifique se o arquivo de entrada cables.csv contém especificações de cabo para todas as conexões de uplink necessárias nos dois switches de borda e nos dois switches de agregação de gerenciamento.
Se for necessário adicionar novas conexões de uplink:
- Localize as portas não usadas nos patch panels.
- Adicione novas especificações de cabo para as conexões de uplink necessárias.
- Instale novos cabos na instância do Distributed Cloud para as novas conexões de uplink.
7.1.3. ciq.yaml
O arquivo ciq.yaml contém todos os detalhes do ambiente do cliente necessários
para configurar uma instância do Distributed Cloud. Consulte a documentação ciq.yaml para uma descrição completa do arquivo e do formato esperado.
7.1.4. secrets.yaml
O secrets.yaml contém os secrets da instância do Distributed Cloud.
Usando as entradas anteriores, gere o modelo inicial de arquivo secrets.yaml.
gdcloud system assets generate-secrets-template \
--devices ./devices.csv \
--cables ./cables.csv \
--ciq ./ciq.yaml \
--output ./secrets.yaml
Atualize o secrets.yaml, substituindo todos os valores TO-BE-FILLED pela senha que você quer usar em cada dispositivo. Proteja a senha com pelo menos oito caracteres.
7.1.5. licenses/
O diretório licenses/ contém todas as licenças dos componentes de hardware e
software da infraestrutura de uma instância do Distributed Cloud.
Consulte a documentação de licenças para uma descrição completa do diretório e do formato esperado.
7.1.6. Criar cellconfig
Usando todas as entradas anteriores, crie uma cellconfig:
gdcloud system assets create \
--devices ./devices.csv \
--cables ./cables.csv \
--ciq ./ciq.yaml \
--license-dir ./licenses/ \
--secrets secrets.yaml \
--output ./output
Para mais informações, consulte o runbook INV-E1001 ou o código de erro associado.
Para verificar se não há problemas com chaves incorretas, execute:
gdcloud system preinstall install --config <cellcfg> --config-file-only
7.2. Possíveis problemas
7.2.1. Cuidado com o ID da célula na configuração da célula
TLDR: às vezes, devices.csv ou cables.csv tem um identificador de célula incorreto. Portanto, um arquivo de configuração de célula gerado contém nomes de recursos errados.
Solução alternativa: verifique os arquivos de configuração da célula para garantir que o prefixo dos nomes de recursos corresponda ao esperado.
Exemplo: se um identificador de célula for ai, todos os nomes de recursos precisarão começar com ai-. Se alguns deles tiverem um prefixo diferente, isso é um problema que precisa ser corrigido antes.
7.2.2. Endereço MAC do firewall ausente
Resumo: os endereços MAC dos firewalls da Palo Alto estão faltando no arquivo devices.csv recebido da HPE.
Alternativa:
Se for a primeira vez, acesse os dispositivos Palo Alto com suas credenciais padrão.
Se nenhuma credencial for fornecida, siga este guia da Palo Alto para configurar as credenciais.
Depois de acessar, execute o seguinte comando para receber os endereços MAC dos eletrodomésticos e adicioná-los ao arquivo devices.csv na coluna nic3mac:
show system info
7.2.3. Endereços MAC do HSM ausentes
Resumo: os endereços MAC dos dispositivos HSM estão faltando no arquivo devices.csv recebido da HPE.
Solução alternativa (para cada dispositivo HSM):
Faça login no dispositivo pelo console serial.
Identifique o endereço MAC da interface de rede de gerenciamento.
ip -brief link \ | grep --color=never '^e' \ | grep -v DOWN \ | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \ | grep -vf <(nmcli \ | grep i40e \ | cut -d "," -f 2 \ | sed -e 's/^[[:space:]]*//' \ | sed 's/[A-Z]/\L&/g'))O exemplo a seguir mostra a saída de um endereço MAC de amostra obtido após executar o comando:
ksadmin@ciphertrust:~$ ip -brief link \ | grep --color=never '^e' \ | grep -v DOWN \ | grep -o -E --color=none '([0-9A-Fa-f]{2}:){5}[0-9A-Fa-f]{2}' \ | grep -vf <(nmcli \ | grep i40e \ | cut -d "," -f 2 \ | sed -e 's/^[[:space:]]*//' \ | sed 's/[A-Z]/\L&/g')) 00:15:b2:b0:3e:80Edite
devices.csve insira o endereço MAC de gerenciamento na colunanic3macdo dispositivo.Edite
devices.csve insiramgmt0na colunanic3_MGMT_port_namedo dispositivo.Identifique o endereço MAC da primeira interface de rede do plano de dados.
export DATA0_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \ | sed 's/port//g' \ | sed -e 's/^[[:space:]]*//' \ | sed 's/[A-Z]/\L&/g' \ | sed 's/.\{2\}/&:/g' \ | sed 's/:$//g' \ | sort | head -1); echo ${DATA0_MAC}Edite
devices.csve insira o endereçoDATA0_MACna colunanic1macdo dispositivo.Edite
devices.csve insiradata0na colunanic1_Data1_port_namedo dispositivo.Identifique o endereço MAC da segunda interface de rede do plano de dados.
export DATA1_MAC=$(nmcli | grep i40e | cut -d "," -f 4 \ | sed 's/port//g' \ | sed -e 's/^[[:space:]]*//' \ | sed 's/[A-Z]/\L&/g' \ | sed 's/.\{2\}/&:/g' \ | sed 's/:$//g' \ | sort | tail -1); echo ${DATA1_MAC}Edite
devices.csve insira o endereçoDATA1_MACna colunanic2macdo dispositivo.Edite
devices.csve insiradata1na colunanic2_Data2_port_namedo dispositivo.
7.2.4. Número de série ausente para armazenamento de objetos
Resumo: o número de série dos dispositivos de armazenamento de objetos está faltando no arquivo devices.csv recebido da HPE.
Solução alternativa: se, ao gerar a configuração, você receber um erro semelhante a serial number () should be alphanumeric during cellcfg validation, referente a um dispositivo do tipo xx-ac-objs0n, recupere o número de série do dispositivo. Ele está no rótulo impresso na parte de cima do eletrodoméstico. O número de série precisa ser colocado na coluna serial_number do arquivo devices.csv.