AKS habilitado pelos requisitos de rede do Azure Arc

Aplica-se a: Azure Stack HCI, versão 23H2

Este artigo apresenta os principais conceitos de rede para suas VMs e aplicativos no AKS habilitados pelo Azure Arc. O artigo também descreve os pré-requisitos de rede necessários para a criação de clusters do Kubernetes. Recomendamos que você trabalhe com um administrador de rede para fornecer e configurar os parâmetros de rede necessários para implantar o AKS habilitado pelo Arc.

Neste artigo conceitual, os seguintes componentes principais são apresentados. Esses componentes precisam de um endereço IP estático para que o cluster e os aplicativos do AKS Arc criem e operem com êxito:

  • AKS cluster VMs
  • IP do painel de controle do AKS
  • Balanceador de carga para aplicativos em contêineres

Rede para VMs de cluster do AKS

Os nós do Kubernetes são implantados como máquinas virtuais especializadas no AKS habilitado pelo Arc. Essas VMs são endereços IP alocados para permitir a comunicação entre nós do Kubernetes. O AKS Arc usa redes lógicas do Azure Stack HCI para fornecer endereços IP e rede para as VMs subjacentes dos clusters do Kubernetes. Para obter mais informações sobre redes lógicas, consulte Redes lógicas para o Azure Stack HCI. Você deve planejar a reserva de um endereço IP por VM de nó de cluster do AKS em seu ambiente do Azure Stack HCI.

Observação

O IP estático é o único modo com suporte para atribuir um endereço IP a VMs do AKS Arc. Isso ocorre porque o Kubernetes exige que o endereço IP atribuído a um nó do Kubernetes seja constante durante todo o ciclo de vida do cluster do Kubernetes. Atualmente, não há suporte para redes virtuais definidas pelo software e recursos relacionados à SDN no AKS no Azure Stack HCI 23H2.

Os seguintes parâmetros são necessários para usar uma rede lógica para a operação de criação de cluster do AKS Arc:

Parâmetro de rede lógica Descrição Parâmetro necessário para o cluster do AKS Arc
--address-prefixes AddressPrefix para a rede. Atualmente, apenas 1 prefixo de endereço é suportado. Uso: --address-prefixes "10.220.32.16/24". Com suporte
--dns-servers Lista separada por espaço de endereços IP do servidor DNS. Uso: --dns-servers 10.220.32.16 10.220.32.17. Com suporte
--gateway Gateway. O endereço IP do gateway deve estar dentro do escopo do prefixo de endereço. Uso: --gateway 10.220.32.16. Com suporte
--ip-allocation-method O método de alocação de endereço IP. Os valores suportados são "Estáticos". Uso: --ip-allocation-method "Static". Com suporte
--ip-pool-start O endereço IP inicial do pool de IPs. O endereço deve estar no intervalo do prefixo de endereço. Uso: --ip-pool-start "10.220.32.18". Com suporte
--ip-pool-end O endereço IP final do pool de IPs. O endereço deve estar no intervalo do prefixo de endereço. Uso: --ip-pool-end "10.220.32.38". Com suporte
--vm-switch-name O nome do comutador de VM. Uso: --vm-switch-name "vm-switch-01". Com suporte

IP do plano de controle

O Kubernetes usa um plano de controle para garantir que todos os componentes do cluster do Kubernetes sejam mantidos no estado desejado. O plano de controle também gerencia e mantém os nós de trabalho que contêm os aplicativos em contêineres. O AKS habilitado pelo Arc implanta o balanceador de carga KubeVIP para garantir que o endereço IP do servidor de API do painel de controle do Kubernetes esteja disponível o tempo todo. Essa instância KubeVIP requer um único "endereço IP do plano de controle" imutável para funcionar corretamente.

Observação

O IP do plano de controle é um parâmetro necessário para criar um cluster do Kubernetes. Você deve garantir que o endereço IP do plano de controle de um cluster do Kubernetes não se sobreponha a qualquer outra coisa, incluindo redes lógicas Arc VM, IPs de rede de infraestrutura, balanceadores de carga etc. O IP do plano de controle também deve estar dentro do escopo do prefixo de endereço da rede lógica, mas fora do pool de IP. Isso ocorre porque o pool de IPs é usado apenas para VMs e, se você escolher um endereço IP do pool de IPs para o painel de controle, poderá ocorrer um conflito de endereço IP. Endereços IP sobrepostos podem levar a falhas inesperadas para o cluster do AKS e qualquer outro local em que o endereço IP esteja sendo usado. Você deve planejar a reserva de um endereço IP por cluster do Kubernetes em seu ambiente.

IPs do balanceador de carga para aplicativos em contêineres

A principal finalidade de um balanceador de carga é distribuir o tráfego entre vários nós em um cluster do Kubernetes. Esse balanceamento de carga pode ajudar a evitar o tempo de inatividade e melhorar o desempenho geral dos aplicativos. O AKS dá suporte às seguintes opções para implantar um balanceador de carga para o cluster do Kubernetes:

Se você escolher a extensão MetalLB Arc ou trazer seu próprio balanceador de carga, deverá fornecer um conjunto de endereços IP para o serviço de balanceador de carga. Você tem as seguintes opções:

  • Forneça endereços IP para seus serviços da mesma sub-rede que as VMs do AKS Arc.
  • Use uma rede e uma lista de endereços IP diferentes se o aplicativo precisar de balanceamento de carga externo.

Independentemente da opção escolhida, você deve garantir que os endereços IP alocados para o balanceador de carga não entrem em conflito com os endereços IP na rede lógica ou nos IPs do plano de controle para seus clusters do Kubernetes. Endereços IP conflitantes podem levar a falhas imprevistas na implantação e nos aplicativos do AKS.

Planejamento simples de endereços IP para clusters e aplicativos Kubernetes

No passo a passo do cenário a seguir, você reserva endereços IP de uma única rede para seus clusters e serviços do Kubernetes. Esse é o cenário mais direto e simples para a atribuição de endereços IP.

Requisito de endereço IP Número mínimo de endereços IP Como e onde fazer esta reserva
AKS Arc VM IPs Reserve um endereço IP para cada nó de trabalho no cluster do Kubernetes. Por exemplo, se você quiser criar 3 pools de nós com 3 nós em cada pool de nós, precisará ter 9 endereços IP em seu pool de IP. Reservar endereços IP para VMs do AKS Arc por meio de pools de IP na rede lógica da VM do Arc.
IPs de atualização de versão do AKS Arc K8s Como o AKS Arc executa atualizações sem interrupção, reserve um endereço IP para cada cluster do AKS Arc para operações de atualização de versão do Kubernetes. Reserve endereços IP para a operação de atualização de versão do K8s por meio de pools de IP na rede lógica da VM do Arc.
IP do plano de controle Reserve um endereço IP para cada cluster do Kubernetes em seu ambiente. Por exemplo, se você quiser criar 5 clusters no total, reserve 5 endereços IP, um para cada cluster do Kubernetes. Reserve endereços IP para IPs do painel de controle na mesma sub-rede que a rede lógica da VM do Arc, mas fora do pool de IPs especificado.
IPs do balanceador de carga O número de endereços IP reservados depende do modelo de implantação do aplicativo. Como ponto de partida, você pode reservar um endereço IP para cada serviço do Kubernetes. Reserve endereços IP para IPs do painel de controle na mesma sub-rede que a rede lógica da VM do Arc, mas fora do pool de IPs especificado.

Exemplo de passo a passo para reserva de endereço IP para clusters e aplicativos do Kubernetes

Jane é uma administradora de TI que está começando com o AKS habilitado pelo Azure Arc. Ela deseja implantar dois clusters do Kubernetes: cluster do Kubernetes A e cluster do Kubernetes B em seu cluster do Azure Stack HCI. Ela também quer executar um aplicativo de votação sobre o cluster A. Esse aplicativo tem três instâncias da interface do usuário de front-end em execução nos dois clusters e uma instância do banco de dados de back-end. Todos os seus clusters e serviços do AKS estão em execução em uma única rede, com uma única sub-rede.

  • O cluster A do Kubernetes tem 3 nós do plano de controle e 5 nós de trabalho.
  • O cluster B do Kubernetes tem 1 nó de plano de controle e 3 nós de trabalho.
  • 3 instâncias da interface do usuário de front-end (porta 443).
  • 1 instância do banco de dados back-end (porta 80).

Com base na tabela anterior, ela deve reservar um total de 19 endereços IP em sua sub-rede:

  • 8 endereços IP para as VMs do nó do AKS Arc no cluster A (um IP por VM do nó K8s).
  • 4 endereços IP para as VMs do nó do AKS Arc no cluster B (um IP por VM do nó K8s).
  • 2 endereços IP para executar a operação de atualização do AKS Arc (um endereço IP por cluster do AKS Arc).
  • 2 endereços IP para o painel de controle do AKS Arc (um endereço IP por cluster do AKS Arc)
  • 3 endereços IP para o serviço Kubernetes (um endereço IP por instância da interface do usuário de front-end, já que todos usam a mesma porta. O banco de dados de back-end pode usar qualquer um dos três endereços IP, desde que use uma porta diferente).

Continuando com este exemplo e adicionando-o à tabela a seguir, você obtém:

Parâmetro Número de endereços IP Como e onde fazer esta reserva
Atualização de versão de VMs do AKS Arc e K8s Reserve 14 endereços IP Faça essa reserva por meio de pools de IP na rede lógica do Azure Stack HCI.
IP do plano de controle Reservar 2 endereços IP, um para o cluster do AKS Arc Use o controlPlaneIP parâmetro para passar o endereço IP para o IP do plano de controle. Certifique-se de que esse IP esteja na mesma sub-rede que a rede lógica do Arc, mas fora do pool de IPs definido na rede lógica do Arc.
IPs do balanceador de carga 3 Endereço IP para serviços Kubernetes, para o aplicativo de votação de Jane. Esses endereços IP são usados quando você instala um balanceador de carga no cluster A. Você pode usar a extensão MetalLB Arc ou trazer seu próprio balanceador de carga de terceiros. Certifique-se de que esse IP esteja na mesma sub-rede que a rede lógica do Arc, mas fora do pool de IPs definido na rede lógica da VM do Arc.

Configurações de proxy

As configurações de proxy no AKS são herdadas do sistema de infraestrutura subjacente. A funcionalidade para definir configurações de proxy individuais para clusters do Kubernetes e alterar as configurações de proxy ainda não é compatível.

Requisitos de porta de rede e VLAN cruzada

Ao implantar o Azure Stack HCI, você aloca um bloco contíguo de pelo menos seis endereços IP estáticos na sub-rede da rede de gerenciamento, omitindo endereços já usados pelos servidores físicos. Esses IPs são usados pelo Azure Stack HCI e pela infraestrutura interna (Arc Resource Bridge) para gerenciamento de VM do Arc e AKS Arc. Se a rede de gerenciamento que fornece endereços IP para os serviços do Azure Stack HCI relacionados à Ponte de Recursos do Arc estiver em uma VLAN diferente da rede lógica usada para criar clusters do AKS, você precisará garantir que as portas a seguir sejam abertas para criar e operar com êxito um cluster do AKS.

Porta de destino Destino Fonte Descrição Notas de rede entre VLANs
22 Rede lógica usada para VMs do AKS Arc Endereços IP na rede de gerenciamento Necessário para coletar logs para solução de problemas. Se você usar VLANs separadas, os endereços IP na rede de gerenciamento usada para o Azure Stack HCI e o Arc Resource Bridge precisarão acessar as VMs de cluster do AKS Arc nessa porta.
6443 Rede lógica usada para VMs do AKS Arc Endereços IP na rede de gerenciamento Necessário para se comunicar com APIs do Kubernetes. Se você usar VLANs separadas, os endereços IP na rede de gerenciamento usada para o Azure Stack HCI e o Arc Resource Bridge precisarão acessar as VMs de cluster do AKS Arc nessa porta.
55000 Endereços IP na rede de gerenciamento Rede lógica usada para VMs do AKS Arc Servidor gRPC do Cloud Agent Se você usar VLANs separadas, as VMs do AKS Arc precisarão acessar os endereços IP na rede de gerenciamento usada para o IP do agente de nuvem e o IP do cluster nessa porta.
65000 Endereços IP na rede de gerenciamento Rede lógica usada para VMs do AKS Arc Autenticação gRPC do Cloud Agent Se você usar VLANs separadas, as VMs do AKS Arc precisarão acessar os endereços IP na rede de gerenciamento usada para o IP do agente de nuvem e o IP do cluster nessa porta.

Exceções de URL do firewall

Para obter informações sobre a lista de permissões de URL de firewall/proxy do Azure Arc, consulte os requisitos de rede da ponte de recursos do Azure Arc e os requisitos de rede do Azure Stack HCI 23H2.

Observação

Se você estiver implantando uma versão mais antiga do Azure Stack HCI , como 2402 e anterior, também deverá permitir as URLs gcr.io e storage.googleapis.com . Essas URLs foram removidas da versão mais recente do AKS Arc.

URL Porta Serviço Observações
https://mcr.microsoft.com
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
https://azurearcfork8sdev.azurecr.io
https://hybridaks.azurecr.io
aszk8snetworking.azurecr.io
443 Arco AKS Usado para artefatos oficiais da Microsoft, como imagens de contêiner.
docker.io 443 Arco AKS Usado para artefatos oficiais do Kubernetes, como imagens de base de contêiner.
hybridaksstorage.z13.web.core.windows.net 443 Arco AKS Site estático AKSHCI hospedado no Armazenamento do Azure.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 Arco AKS Usado para download e atualização de imagem VHD do AKS Arc.
*.prod.do.dsp.mp.microsoft.com 443 Arco AKS Usado para download e atualização de imagem VHD do AKS Arc.
*.login.microsoft.com 443 Azure Necessário para buscar e atualizar tokens do Azure Resource Manager para fazer logon no Azure.
https://*.his.arc.azure.com 443 K8s habilitados para Azure Arc Usado para controle de identidade e acesso dos agentes do Arc.
https://*.dp.kubernetesconfiguration.azure.com 443 K8s habilitados para Azure Arc Usado para configuração do Azure Arc.
https://*.servicebus.windows.net 443 K8s habilitados para Azure Arc Usado para se conectar com segurança a clusters do Kubernetes habilitados para Azure Arc sem exigir que nenhuma porta de entrada seja habilitada no firewall.
https://guestnotificationservice.azure.com 443 K8s habilitados para Azure Arc Usado para operações de notificação de convidados.
sts.windows.net 443 K8s habilitados para Azure Arc Para o cenário Cluster Connect e Custom Location-based.
https://*.dp.prod.appliances.azure.com 443 Ponte de Recursos do Arco Usado para operações de plano de dados para Ponte de recursos (dispositivo).
*.prod.microsoftmetrics.com
*.prod.hot.ingestion.msftcloudes.com
dc.services.visualstudio.com
*.prod.warm.ingest.monitor.core.windows.net
gcs.prod.monitoring.core.windows.net
https://adhs.events.data.microsoft.com
https://v20.events.data.microsoft.com
443 Métricas e monitoramento de integridade Usado para métricas e monitoramento de tráfego de telemetria.
pypi.org
*.pypi.org
files.pythonhosted.org
443 Az CLI Usado para baixar extensões Az CLI e Az CLI.
aka.ms 443 Azure Stack HCI Necessário para downloads relacionados ao Azure Stack HCI.
raw.githubusercontent.com 443 GitHub Usado para GitHub.
www.microsoft.com 80 Site oficial da Microsoft. Site oficial da Microsoft.

Próximas etapas

Criar redes lógicas para clusters do Kubernetes no Azure Stack HCI 23H2