Share via


Implantar a SDN (Rede Definida pelo Software) da Microsoft

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Este artigo descreve como implantar VMs de infraestrutura e carga de trabalho do AKS em um Rede Virtual SDN usando nosso software SDN Load Balancer para todos os cenários de balanceamento de carga do AKS Arc. O AKS habilitado pelo Azure Arc oferece uma plataforma de contêiner totalmente compatível que pode executar aplicativos nativos de nuvem na plataforma de orquestração de contêiner do Kubernetes. A arquitetura dá suporte à execução de cargas de trabalho virtualizadas do Windows e do Linux.

Limitações

Os seguintes recursos estão fora do escopo e não têm suporte nesta versão ga:

  • Anexando pods e contêineres a uma rede virtual SDN.
    • Os pods usam Flannel ou Calico (padrão) como o provedor de rede.
  • Imposição de política de rede usando a Grupos de Segurança de Rede do SDN.
    • A Grupos de Segurança de Rede do SDN ainda pode ser configurada fora do AKS Arc usando ferramentas de SDN (REST/PowerShell/Windows Admin Center/SCVMM), mas os objetos NetworkPolicy do Kubernetes não os configuram.
  • Anexando NICs de VM do AKS Arc a redes lógicas SDN.
  • Instalação usando Windows Admin Center.
  • Host físico para conectividade de VM do AKS Arc: as NICs de VM são unidas a uma rede virtual SDN e, portanto, não são acessíveis do host por padrão. Por enquanto, você pode habilitar essa conectividade manualmente anexando um IP público diretamente à VM usando o software SDN Load Balancer.

Pré-requisitos

Para implantar o AKS habilitado pelo Arc com SDN, verifique se o ambiente atende aos critérios de implantação do AKS Arc e do SDN.

Observação

A integração do SDN com o AKS Arc requer apenas o controlador de rede e o software Load Balancer. As VMs de gateway são opcionais.

Instalar e preparar o SDN para o AKS Arc

A primeira etapa é instalar o SDN. Para instalar o SDN, recomendamos o SDN Express ou Windows Admin Center. Um arquivo de configuração de referência que implanta todos os componentes de infraestrutura de SDN necessários pode ser encontrado aqui: Software Load Balancer.psd1.

Depois que a implantação do SDN Express for concluída, deverá haver uma tela que relata o status como íntegro.

Se algo der errado ou estiver sendo relatado como não íntegro, consulte Solução de problemas de SDN.

É importante que o SDN esteja íntegro antes de continuar. Se você implantar o SDN em um novo ambiente, também recomendamos criar VMs de teste e verificar a conectividade com os VIPs do balanceador de carga. Veja como criar e anexar VMs a uma rede virtual SDN usando Windows Admin Center.

Etapas para instalar o AKS

Inicialize e prepare todos os computadores host físicos para o AKS Arc. Confira Implantar um host do AKS para obter as instruções mais atualizadas.

Instalar o módulo do PowerShell do AKS-HCI

Consulte Instalar o módulo do AksHci PowerShell para obter informações sobre como instalar o módulo do PowerShell do AKS-HCI.

Observação

Depois de concluir esta etapa, atualize ou recarregue as sessões abertas do PowerShell para recarregar os módulos.

Registrar o provedor de recursos em sua assinatura

Para obter informações sobre como registrar o provedor de recursos em sua assinatura, consulte Instalar o módulo do AksHci PowerShell.

Preparar seus computadores para implantação

Para obter informações sobre como preparar seus computadores para implantação, consulte Preparar seus computadores para implantação.

Configurar o AKS para instalação

Escolha um dos servidores do Azure Stack HCI para impulsionar a criação do AKS Arc. Há três etapas que precisam ser feitas antes da instalação:

  1. Definir as configurações de rede do AKS para SDN; por exemplo, usando:

    1. Rede virtual SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Uma rede virtualizada e você pode usar qualquer sub-rede IP. Essa sub-rede não precisa existir em sua rede física.
    2. Nome do vSwitch "Externo". O vSwitch externo nos servidores do Azure Stack HCI. Certifique-se de usar o mesmo vSwitch que foi usado para implantação de SDN.
    3. Gateway "10.20.0.1". Esse endereço é o gateway para sua rede virtual.
    4. Servidor DNS "10.127.130.7". O servidor DNS para sua rede virtual.
    $vnet = New-AksHciNetworkSetting –name "myvnet" –vswitchName "External" -k8sNodeIpPoolStart "10.20.0.2" -k8sNodeIpPoolEnd "10.20.0.255"
    -ipAddressPrefix "10.20.0.0/24" -gateway "10.20.0.1" -dnsServers "10.127.130.7"
    
    Parâmetro Descrição
    -name Nome da rede virtual no AKS habilitado pelo Arc (deve ser minúsculo).
    -vswitchName Nome do vSwitch externo nos servidores do Azure Stack HCI. Use o mesmo vSwitch que foi usado para implantação de SDN.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    Intervalo de início/término de IP da rede virtual SDN.
    -ipAddressPrefix Sub-rede de rede virtual na notação CIDR.
    -gateway
    -dnsServers
    Gateway e servidor DNS da rede virtual SDN.

    Para obter mais informações sobre esses parâmetros, consulte New-AksHciNetworkSetting.

  2. Na mesma janela do PowerShell usada na Etapa 1, crie um pool vip para informar o AKS de nossos IPs que podem ser usados em nossa rede lógica de Balanceamento de Carga de SDN:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parâmetro Descrição
    -name A rede lógica "PublicVIP" que você forneceu ao configurar balanceadores de carga SDN. No cmdlet , esse nome deve estar em minúsculas.
    -vipPoolStart Intervalo de início de IP da rede lógica usada para o pool de VIP do balanceador de carga público. Você deve usar um intervalo de endereços da rede lógica do SDN "PublicVIP".
    -vipPoolEnd Intervalo final de IP da rede lógica usada para o pool de VIP do balanceador de carga público. Você deve usar um intervalo de endereços da rede lógica do SDN "PublicVIP".
  3. Na mesma janela do PowerShell usada na Etapa 2, crie a configuração do AKS para SDN fornecendo referências às redes SDN de destino e forneça as configurações de rede ($vnet, $vipPool) que definimos anteriormente:

    Set-AksHciConfig 
    –imageDir "C:\ClusterStorage\Volume1\ImageStore" 
    –workingDir "C:\ClusterStorage\Volume1\WorkDir"
    –cloudConfigLocation "C:\ClusterStorage\Volume1\Config" 
    –vnet $vnet –useNetworkController
    –NetworkControllerFqdnOrIpAddress "nc.contoso.com" 
    –networkControllerLbSubnetRef "/logicalnetworks/PublicVIP/subnets/my_vip_subnet" 
    –networkControllerLnetRef "/logicalnetworks/HNVPA" 
    -vipPool $vipPool
    

    A rede lógica HNVPA é usada como o provedor subjacente para a rede virtual do AKS Arc.

    Se você usar uma atribuição de endereço IP estático para os nós de cluster do Azure Stack HCI, também deverá fornecer o CloudServiceCidr parâmetro . Esse parâmetro é o endereço IP do serviço de nuvem moc e deve estar na mesma sub-rede que os nós de cluster do Azure Stack HCI. Para obter mais informações, consulte Serviço de nuvem local da Microsoft.

    Parâmetro Descrição
    –imageDir O caminho para onde o AKS Arc armazena suas imagens VHD. Esse caminho deve ser um caminho de armazenamento compartilhado ou um compartilhamento SMB.
    –workingDir O caminho para onde os arquivos pequenos do módulo são armazenados. Esse caminho deve ser um caminho de armazenamento compartilhado ou um compartilhamento SMB.
    -cloudConfigLocation O caminho para o diretório em que a configuração do agente de nuvem é armazenada. Esse caminho deve ser um caminho de armazenamento compartilhado ou um compartilhamento SMB.
    -vnet Nome da AksHciNetworkSetting variável criada na etapa anterior
    -useNetworkController Habilite a integração com o SDN.
    -networkControllerFqdnOrIpAddress FQDN do controlador de rede. Você pode obter o FQDN executando Get-NetworkController na VM do Controlador de Rede e usando o RestName parâmetro .
    -networkControllerLbSubnetRef Referência à sub-rede de rede lógica VIP pública configurada no Controlador de Rede. Você pode obter essa sub-rede executando o Get-NetworkControllerLogicalSubnet cmdlet . Ao usar esse cmdlet, use PublicVIP como o LogicalNetworkId. Os VipPoolStart parâmetros e vipPoolEnd no New-AksHciVipPoolSetting cmdlet devem fazer parte da sub-rede referenciada aqui.
    -networkControllerLnetRef Normalmente, esse valor é "/logicalnetworks/HNVPA".
    -vipPool Pool vip usado como os IPs de front-end para balanceamento de carga.

    Para obter mais informações sobre esses parâmetros, consulte Set-AksHciConfig.

Entre no Azure e defina as configurações de registro

Siga as instruções aqui para definir as configurações de registro.

Observação

Se você não tiver permissões de proprietário, é recomendável usar uma entidade de serviço do Azure.

Instalar o AKS

Depois que a configuração do AKS for concluída, você estará pronto para instalar o AKS no Azure Stack HCI.

Install-AksHci

Depois que a instalação for bem-sucedida, uma VM do painel de controle (cluster de gerenciamento) será criada e sua VmNIC será anexada à rede SDN.

Coletar logs de um SDN e aks no ambiente HCI

Com o SDN e o AKS no HCI, obtemos isolamento dos nós do AKS em redes virtuais. Como eles são isolados, devemos importar um novo script de coleta de log do AKS-HCI do SDN e executar um comando modificado que usa o balanceador de carga para recuperar logs dos nós:

Install-Module -Name AksHciSdnLogCollector -Repository PSGallery
Get-AksHciLogsSdn

Comentários/problemas

Consulte os recursos de autoajuda aqui para SDN e aqui para AKS-HCI.

Próximas etapas

Em seguida, você pode criar clusters de carga de trabalho e implantar seus aplicativos. Todas as NICs de VM do AKS no AKS habilitadas pelo Arc são anexadas perfeitamente à rede virtual SDN que foi fornecida durante a instalação. O balanceador de carga do Software SDN também é usado como o balanceador de carga externo para todos os serviços do Kubernetes e atua como o balanceador de carga para o servidor de API no plano de controle do Kubernetes.