10 Metal3 #
Metal3 é um projeto da CNCF que oferece recursos de gerenciamento de infraestrutura bare metal para Kubernetes.
O Metal3 inclui recursos nativos do Kubernetes para gerenciar o ciclo de vida de servidores bare metal que suportam gerenciamento com protocolos fora da banda, como o Redfish.
Ele também conta com suporte a Cluster API (CAPI), que permite gerenciar os recursos da infraestrutura de vários provedores por meio de APIs amplamente adotadas e independentes de fornecedor.
10.1 Como o SUSE Edge usa o Metal3? #
Este método é útil em cenários com hardware de destino que permite o gerenciamento fora da banda e quando se deseja um fluxo de gerenciamento de infraestrutura automatizado.
Esse método fornece APIs declarativas que permitem o gerenciamento de inventário e de estado dos servidores bare metal, incluindo inspeção, limpeza e provisionamento/desprovisionamento automatizados.
10.2 Problemas conhecidos #
No momento, não há suporte para o controlador de gerenciamento de endereços IP upstream, pois ele ainda não é compatível com a nossa seleção de ferramentas de configuração de rede.
Da mesma forma, os recursos do IPAM e os campos networkData do Metal3DataTemplate não são suportados.
Apenas há suporte para implantação por redfish-virtualmedia.
É possível observar um desalinhamento de nome de dispositivo de rede entre o Ironic Python Agent (IPA) e o sistema operacional de destino (SL Micro 6.0/6.1), principalmente ao tentar configurar nomes previsíveis para os dispositivos.
Isso acontece porque o kernel do Ironic Python Agent (IPA) não está alinhado ao kernel do sistema operacional de destino (SL Micro 6.0/6.1), portanto, há um desalinhamento nos drivers de rede que permite que o IPA descubra dispositivos de rede em um padrão de nomenclatura diferente do que o esperado pelo SL Micro.
Por enquanto, há duas abordagens distintas para adotar como solução
alternativa: * Criar dois segredos diferentes com a configuração de rede: um
para aplicar ao IPA, usando os mesmos nomes de dispositivo que o IPA
descobrirá, e usá-lo como preprovisioningNetworkDataName
na definição de BareMetalHost; e o outro segredo, com os
mesmos nomes de dispositivo que o SL Micro descobrirá, para usar como
networkData.name na definição de
BareMetalHost. * Usar os UUIDs para fazer referência a
outras interfaces nos arquivos nmconnection gerenciados. Há mais detalhes na
seção Dicas e truques.