7.. Gerar arquivos de configuração

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:

  1. Verifique o recebimento do arquivo de especificação do dispositivo de hardware: devices.csv.
  2. Verifique o recebimento do arquivo de especificação de cabeamento de rede: cables.csv.
  3. Gere o arquivo do questionário de entrada do cliente (CIQ): ciq.yaml.
  4. Gere o arquivo de secrets da instância: secrets.yaml.
  5. Verifique o recebimento do diretório de licenças de dispositivos: licenses/.
  6. Execute o comando gdcloud system assets create com 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.

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 -ft em 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:

  1. Localize as portas não usadas nos patch panels.
  2. Adicione novas especificações de cabo para as conexões de uplink necessárias.
  3. 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):

  1. Faça login no dispositivo pelo console serial.

  2. 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:80
    
  3. Edite devices.csv e insira o endereço MAC de gerenciamento na coluna nic3mac do dispositivo.

  4. Edite devices.csv e insira mgmt0 na coluna nic3_MGMT_port_name do dispositivo.

  5. 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}
    
  6. Edite devices.csv e insira o endereço DATA0_MAC na coluna nic1mac do dispositivo.

  7. Edite devices.csv e insira data0 na coluna nic1_Data1_port_name do dispositivo.

  8. 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}
    
  9. Edite devices.csv e insira o endereço DATA1_MAC na coluna nic2mac do dispositivo.

  10. Edite devices.csv e insira data1 na coluna nic2_Data2_port_name do 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.