Share via


Implementar o Microsoft Software Defined Networking (SDN)

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

Este artigo descreve como implementar VMs de carga de trabalho e infraestrutura do AKS numa Rede Virtual SDN com o nosso Balanceador de Carga de Software SDN para todos os cenários de balanceamento de carga do AKS Arc. O AKS ativado pelo Azure Arc oferece uma plataforma de contentores totalmente suportada que pode executar aplicações nativas da cloud na plataforma de orquestração de contentores do Kubernetes. A arquitetura suporta a execução de cargas de trabalho virtualizadas do Windows e do Linux.

Limitações

As seguintes funcionalidades estão fora do âmbito e não são suportadas nesta versão de DISPONIBILIDADE:

  • Anexar pods e contentores a uma rede virtual SDN.
    • Os pods utilizam Flannel ou Calico (predefinição) como fornecedor de rede.
  • Imposição de políticas de rede com o Grupos de Segurança de Rede do SDN.
    • O Grupos de Segurança de Rede SDN ainda pode ser configurado fora do AKS Arc com ferramentas SDN (REST/PowerShell/Windows Admin Center/SCVMM), mas os objetos Kubernetes NetworkPolicy não os configuram.
  • Anexar NICs de VM do AKS Arc a redes lógicas SDN.
  • Instalação com Windows Admin Center.
  • Anfitrião físico da conectividade da VM do AKS Arc: os NICs de VM estão associados a uma rede virtual SDN e, por conseguinte, não estão acessíveis a partir do anfitrião por predefinição. Por enquanto, pode ativar esta conectividade manualmente ao anexar um IP público diretamente à VM com o software SDN Balanceador de Carga.

Pré-requisitos

Para implementar o AKS ativado pelo Arc com SDN, certifique-se de que o seu ambiente cumpre os critérios de implementação do AKS Arc e do SDN.

Nota

A integração do SDN com o AKS Arc requer apenas o Controlador de Rede e o Software Balanceador de Carga. As VMs do gateway são opcionais.

Instalar e preparar o SDN para o AKS Arc

O primeiro passo é instalar o SDN. Para instalar o SDN, recomendamos o SDN Express ou Windows Admin Center. Pode encontrar aqui um ficheiro de configuração de referência que implementa todos os componentes de infraestrutura SDN necessários: Software Balanceador de Carga.psd1.

Assim que a implementação do SDN Express estiver concluída, deverá existir um ecrã que reporte o estado como estando em bom estado de funcionamento.

Se algo correu mal ou estiver a ser reportado como em mau estado de funcionamento, veja Resolução de problemas do SDN.

É importante que a SDN esteja em bom estado de funcionamento antes de prosseguir. Se implementar o SDN num novo ambiente, também recomendamos a criação de VMs de teste e a verificação da conectividade aos VIPs do balanceador de carga. Veja como criar e anexar VMs a uma rede virtual SDN com Windows Admin Center.

Passos para instalar o AKS

Inicialize e prepare todas as máquinas anfitriãs físicas para o AKS Arc. Veja Implementar um anfitrião do AKS para obter as instruções mais atualizadas.

Instalar o módulo do PowerShell do AKS-HCI

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

Nota

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

Registar o fornecedor de recursos na sua subscrição

Para obter informações sobre como registar o fornecedor de recursos na sua subscrição, veja Instalar o módulo do AksHci PowerShell.

Preparar as máquinas para implementação

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

Configurar o AKS para instalação

Escolha um dos seus servidores do Azure Stack HCI para impulsionar a criação do AKS Arc. Existem três passos que têm de ser feitos antes da instalação:

  1. Configurar as definições de rede do AKS para SDN; por exemplo, com:

    1. Rede virtual SDN "10.20.0.0/24" (10.20.0.0 – 10.20.0.255). Uma rede virtualizada e pode utilizar qualquer sub-rede IP. Esta sub-rede não precisa de existir na sua rede física.
    2. nome do vSwitch "Externo". O vSwitch externo nos servidores do Azure Stack HCI. Certifique-se de que utiliza o mesmo vSwitch que foi utilizado para a implementação do SDN.
    3. Gateway "10.20.0.1". Este endereço é o gateway da 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 (tem de estar em minúsculas).
    -vswitchName Nome do vSwitch externo nos servidores do Azure Stack HCI. Utilize o mesmo vSwitch que foi utilizado para a implementação do SDN.
    -k8sNodeIpPoolStart
    -k8sNodeIpPoolEnd
    Intervalo de início/fim 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 estes parâmetros, veja New-AksHciNetworkSetting.

  2. Na mesma janela do PowerShell que utilizou no Passo 1, crie um conjunto VIP para informar o AKS dos nossos IPs que podem ser utilizados a partir da nossa rede lógica de Balanceamento de Carga do 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 forneceu ao configurar balanceadores de carga SDN. No cmdlet, este nome tem de estar em minúsculas.
    -vipPoolStart Intervalo de início de IP da rede lógica utilizada para o conjunto VIP do balanceador de carga público. Tem de utilizar um intervalo de endereços da rede lógica SDN "PublicVIP".
    -vipPoolEnd Intervalo final de IP da rede lógica utilizada para o conjunto VIP do balanceador de carga público. Tem de utilizar um intervalo de endereços da rede lógica SDN "PublicVIP".
  3. Na mesma janela do PowerShell utilizada no Passo 2, crie a configuração do AKS para SDN ao fornecer referências às redes SDN de destino e forneça as definiçõ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 é utilizada como o fornecedor subjacente para a rede virtual do AKS Arc.

    Se utilizar uma atribuição de endereço IP estático para os nós de cluster do Azure Stack HCI, também tem de fornecer o CloudServiceCidr parâmetro. Este parâmetro é o endereço IP do serviço cloud do MOC e tem de estar na mesma sub-rede que os nós de cluster do Azure Stack HCI. Para obter mais informações, veja Serviço Cloud no local da Microsoft.

    Parâmetro Description
    –imageDir O caminho para onde o AKS Arc armazena as respetivas imagens VHD. Este caminho tem de ser um caminho de armazenamento partilhado ou uma partilha SMB.
    –workingDir O caminho para onde os ficheiros pequenos do módulo são armazenados. Este caminho tem de ser um caminho de armazenamento partilhado ou uma partilha SMB.
    -cloudConfigLocation O caminho para o diretório onde a configuração do agente da cloud é armazenada. Este caminho tem de ser um caminho de armazenamento partilhado ou uma partilha SMB.
    -vnet Nome da AksHciNetworkSetting variável criada no passo anterior
    -useNetworkController Ativar a integração com o SDN.
    -networkControllerFqdnOrIpAddress FQDN do controlador de rede. Pode obter o FQDN ao executar Get-NetworkController na VM do Controlador de Rede e ao utilizar o RestName parâmetro .
    -networkControllerLbSubnetRef Referência à sub-rede de rede lógica VIP pública configurada no Controlador de Rede. Pode obter esta sub-rede ao executar o Get-NetworkControllerLogicalSubnet cmdlet. Ao utilizar este cmdlet, utilize PublicVIP como .LogicalNetworkId Os VipPoolStart parâmetros e vipPoolEnd no New-AksHciVipPoolSetting cmdlet têm de fazer parte da sub-rede referenciada aqui.
    -networkControllerLnetRef Normalmente, este valor é "/logicalnetworks/HNVPA".
    -vipPool Conjunto VIP utilizado como IPs de front-end para balanceamento de carga.

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

Inicie sessão no Azure e configure as definições de registo

Siga as instruções aqui para configurar as definições de registo.

Nota

Se não tiver permissões de proprietário, recomenda-se que utilize um principal de serviço do Azure.

Instalar o AKS

Assim que a configuração do AKS estiver concluída, estará pronto para instalar o AKS no Azure Stack HCI.

Install-AksHci

Assim que a instalação for concluída com êxito, é criada uma VM do plano de controlo (cluster de gestão) e a VmNIC é anexada à sua rede SDN.

Recolher registos de um SDN e do AKS no ambiente HCI

Com o SDN e o AKS no HCI, obtemos isolamento dos nós do AKS em redes virtuais. Uma vez que estão isolados, temos de importar um novo script de coleção de registos do AKS-HCI do SDN e executar um comando modificado que utilize o balanceador de carga para obter registos dos nós:

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

Comentários/problemas

Veja os recursos de ajuda autónoma aqui para SDN e aqui para O AKS-HCI.

Passos seguintes

Em seguida, pode criar clusters de cargas de trabalho e implementar as suas aplicações. Todos os NICs de VM do AKS no AKS ativados pelo Arc estão totalmente ligados à rede virtual SDN fornecida durante a instalação. O balanceador de carga do Software SDN também é utilizado como o balanceador de carga externo para todos os serviços do Kubernetes e atua como o balanceador de carga do servidor de API no plano de controlo do Kubernetes.