Partilhar via


Implantar o Microsoft Software Defined Networking (SDN)

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 AKS em uma Rede Virtual SDN usando nosso SDN Software Load Balancer para todos os cenários de balanceamento de carga AKS Arc. O AKS habilitado pelo Azure Arc oferece uma plataforma de contêiner totalmente suportada que pode executar aplicativos nativos da nuvem na plataforma de orquestração de contêineres do Kubernetes. A arquitetura suporta a execução de cargas de trabalho virtualizadas do Windows e Linux.

Limitações

Os seguintes recursos estão fora do escopo e não são suportados nesta versão do GA:

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

Pré-requisitos

Para implantar o AKS habilitado pelo Arc com SDN, certifique-se de que seu ambiente atenda aos critérios de implantação do AKS Arc e do SDN.

Nota

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

Instale e prepare o SDN para o AKS Arc

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

Quando a implantação do SDN Express for concluída, deve haver uma tela que informe o status como íntegro.

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

É importante que a SDN esteja saudável antes de prosseguir. 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 o Windows Admin Center.

Passos para instalar o AKS

Inicialize e prepare todas as máquinas host físicas para o AKS Arc. Consulte Implantar um host AKS para obter as instruções mais atualizadas.

Instalar o módulo AKS-HCI PowerShell

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

Nota

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

Registar o fornecedor de recursos na sua subscrição

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

Prepare suas máquinas para implantação

Para obter informações sobre como preparar suas máquinas para implantação, consulte Preparar suas máquinas para implantação.

Configurar o AKS para instalação

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

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

    1. SDN Rede virtual "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 na sua rede física.
    2. vSwitch nome "Externo." O vSwitch externo nos servidores HCI do Azure Stack. Certifique-se de usar o mesmo vSwitch que foi usado para implantação de SDN.
    3. Gateway "10.20.0.1." Este endereço é a porta de entrada para a sua rede virtual.
    4. Servidor DNS "10.127.130.7." O servidor DNS da 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 Description
    -name Nome da rede virtual no AKS ativado pelo Arc (deve ser minúsculo).
    -vswitchName Nome do vSwitch externo nos servidores HCI do Azure Stack. Use o mesmo vSwitch que foi usado para a implantação do SDN.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    Intervalo de início / fim IP da rede virtual SDN.
    -ipAddressPrefix Sub-rede de rede virtual em 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 que você usou na Etapa 1, crie um pool VIP para informar o AKS sobre nossos IPs que podem ser usados em nossa rede lógica de balanceamento de carga SDN:

    $VipPool = New-AksHciVipPoolSetting -name "publicvip" -vipPoolStart "10.127.132.16" -vipPoolEnd "10.127.132.23
    
    Parâmetro Description
    -name A rede lógica "PublicVIP" que você forneceu ao configurar balanceadores de carga SDN. No cmdlet, esse nome deve ser minúsculo.
    -vipPoolStart Intervalo de início IP da rede lógica usada para o pool VIP do balanceador de carga público. Você deve usar um intervalo de endereços da rede lógica SDN "PublicVIP".
    -vipPoolEnd Intervalo final IP da rede lógica usada para o pool VIP do balanceador de carga público. Você deve usar um intervalo de endereços da rede lógica SDN "PublicVIP".
  3. Na mesma janela do PowerShell usada na Etapa 2, crie a configuração 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 AKS Arc.

    Se você usar uma atribuição de endereço IP estático para seus nós de cluster HCI do Azure Stack, 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 HCI do Azure Stack. Para obter mais informações, consulte Serviço de nuvem local da Microsoft.

    Parâmetro Description
    –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 pequenos arquivos para o 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 onde 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 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 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 LogicalNetworkIdarquivo . Os VipPoolStart parâmetros e vipPoolEnd no New-AksHciVipPoolSetting cmdlet devem fazer parte da sub-rede mencionada aqui.
    -networkControllerLnetRef Normalmente, esse valor é "/logicalnetworks/HNVPA".
    -vipPool Pool VIP usado como 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.

Nota

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

Instalar o AKS

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

Install-AksHci

Quando a instalação for bem-sucedida, uma VM de plano de controle (cluster de gerenciamento) será criada e sua VmNIC será conectada à sua rede SDN.

Coletar logs de um SDN e AKS em ambiente HCI

Com SDN e AKS no HCI, obtemos isolamento dos nós AKS em redes virtuais. Como eles são isolados, devemos importar um novo script de coleta de logs SDN AKS-HCI 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

Feedback/problemas

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

Próximos passos

Em seguida, você pode criar clusters de carga de trabalho e implantar seus aplicativos. Todas as NICs AKS VM no AKS habilitadas pelo Arc são perfeitamente conectadas à 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(s) plano(s) de controle do Kubernetes.