Compartilhar via


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 habilitado pelo Azure Arc. O artigo também descreve os pré-requisitos de rede necessários para criar clusters 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-chave são apresentados. Esses componentes precisam de um endereço IP estático para que o cluster AKS Arc e os aplicativos sejam criados e operados com êxito:

  • AKS cluster VMs
  • Plano de controle AKS IP
  • Balanceador de carga para aplicações em contêineres

Rede para VMs de cluster AKS

Os nós do Kubernetes são implantados como máquinas virtuais especializadas no AKS habilitado pelo Arc. Essas VMs recebem endereços IP para habilitar a comunicação entre nós do Kubernetes. O AKS Arc usa redes lógicas HCI do Azure Stack 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 HCI do Azure Stack. Você deve planejar reservar um endereço IP por VM de nó de cluster AKS em seu ambiente HCI do Azure Stack.

Observação

O IP estático é o único modo suportado para atribuir um endereço IP a VMs 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 Kubernetes.

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

Parâmetro de rede lógica Descrição Parâmetro necessário para o cluster 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 seu pool de IP. O endereço deve estar no intervalo do prefixo do endereço. Uso: --ip-pool-start "10.220.32.18". Com suporte
--ip-pool-end O endereço IP final do seu pool de IP. O endereço deve estar no intervalo do prefixo do endereço. Uso: --ip-pool-end "10.220.32.38". Com suporte
--vm-switch-name O nome da opção VM. Uso: --vm-switch-name "vm-switch-01". Com suporte

Plano de controle IP

O Kubernetes usa um plano de controle para garantir que cada componente no cluster do Kubernetes seja mantido 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 API do plano de controle do Kubernetes esteja sempre disponível. Esta 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 Kubernetes não se sobreponha a mais nada, 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 IP é usado apenas para VMs e, se você escolher um endereço IP do pool de IP para o plano de controle, poderá ocorrer um conflito de endereço IP. A sobreposição de endereços IP pode levar a falhas inesperadas para o cluster 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 Kubernetes em seu ambiente.

IPs do balanceador de carga para aplicativos em contêineres

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

Se você escolher a extensão MetalLB Arc ou trazer seu próprio balanceador de carga, você deve 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 a partir da mesma sub-rede que as VMs AKS Arc.
  • Use uma rede e uma lista de endereços IP diferentes se seu aplicativo precisar de balanceamento de carga externo.

Independentemente da opção escolhida, você deve garantir que os endereços IP alocados ao 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 Kubernetes. Endereços IP conflitantes podem levar a falhas imprevistas em sua implantação e 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. Este é o cenário mais simples e direto 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ê deseja criar 3 pools de nós com 3 nós em cada pool de nós, você precisa ter 9 endereços IP em seu pool de IP. Reserve endereços IP para VMs AKS Arc por meio de pools de IP na rede lógica Arc VM.
IPs de atualização de versão do AKS Arc K8s Como o AKS Arc executa atualizações contínuas, reserve um endereço IP para cada cluster 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 Arc VM.
Plano de controle IP Reserve um endereço IP para cada cluster 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 plano de controle na mesma sub-rede que a rede lógica Arc VM, mas fora do pool de IP 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 Kubernetes. Reserve endereços IP para IPs do plano de controle na mesma sub-rede que a rede lógica Arc VM, mas fora do pool de IP especificado.

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

Jane é uma administradora de TI que está começando com o AKS habilitado pelo Azure Arc. Ela deseja implantar dois clusters do Kubernetes: o cluster A do Kubernetes e o cluster B do Kubernetes em seu cluster HCI do Azure Stack. Ela também quer executar um aplicativo de votação em cima do cluster A. Esse aplicativo tem três instâncias da interface do usuário front-end em execução nos dois clusters e uma instância do banco de dados back-end. Todos os seus clusters e serviços AKS estão sendo executados 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ó do plano de controle e 3 nós de trabalho.
  • 3 instâncias da interface do usuário 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ó AKS Arc no cluster A (um IP por VM do nó K8s).
  • 4 endereços IP para as VMs do nó 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 AKS Arc).
  • 2 endereços IP para o plano de controle AKS Arc (um endereço IP por cluster AKS Arc)
  • 3 endereços IP para o serviço Kubernetes (um endereço IP por instância da interface do usuário front-end, já que todos eles 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 AKS Arc e K8s Reservar 14 endereços IP Faça essa reserva por meio de pools de IP na rede lógica HCI do Azure Stack.
Plano de controle IP Reserve 2 endereços IP, um para o cluster AKS Arc Use o controlPlaneIP parâmetro para passar o endereço IP do IP do plano de controle. Verifique se esse IP está na mesma sub-rede que a rede lógica Arc, mas fora do pool de IP definido na rede lógica 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 3rd party. Verifique se esse IP está na mesma sub-rede que a rede lógica Arc, mas fora do pool de IP definido na rede lógica Arc VM.

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 Kubernetes e alterar configurações de proxy ainda não é suportada.

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 Arc e AKS Arc. Se sua rede de gerenciamento que fornece endereços IP para os serviços HCI do Azure Stack relacionados ao Arc Resource Bridge estiver em uma VLAN diferente da rede lógica usada para criar clusters AKS, você precisará garantir que as portas a seguir sejam abertas para criar e operar com êxito um cluster AKS.

Porta de destino Destino Fonte Descrição Notas de rede de VLAN cruzada
22 Rede lógica usada para VMs 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 Arc Resource Bridge precisarão acessar as VMs de cluster AKS Arc nessa porta.
6443 Rede lógica usada para VMs 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 Arc Resource Bridge precisarão acessar as VMs de cluster AKS Arc nessa porta.
55000 Endereços IP na rede de gerenciamento Rede lógica usada para VMs AKS Arc Servidor gRPC do Cloud Agent Se você usar VLANs separadas, as VMs AKS Arc precisarão acessar os endereços IP na rede de gerenciamento usados para IP do agente de nuvem e IP do cluster nessa porta.
65000 Endereços IP na rede de gerenciamento Rede lógica usada para VMs AKS Arc Autenticação gRPC do Cloud Agent Se você usar VLANs separadas, as VMs AKS Arc precisarão acessar os endereços IP na rede de gerenciamento usados para IP do agente de nuvem e IP do cluster nessa porta.

Exceções de URL de 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 anteriores, também deverá permitir o gcr.io e storage.googleapis.com URLs. 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 AKS Arco Usado para artefatos oficiais da Microsoft, como imagens de contêiner.
docker.io 443 AKS Arco Usado para artefatos oficiais do Kubernetes, como imagens de base de contêiner.
hybridaksstorage.z13.web.core.windows.net 443 AKS Arco Site estático AKSHCI hospedado no Armazenamento do Azure.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 AKS Arco Usado para download e atualização de imagens VHD AKS Arc.
*.prod.do.dsp.mp.microsoft.com 443 AKS Arco Usado para download e atualização de imagens VHD AKS Arc.
*.login.microsoft.com 443 Azure Necessário para buscar e atualizar tokens do Gerenciador de Recursos do Azure para fazer logon no Azure.
https://*.his.arc.azure.com 443 Azure Arc habilitado K8s Usado para controle de identidade e acesso de agentes Arc.
https://*.dp.kubernetesconfiguration.azure.com 443 Azure Arc habilitado K8s Usado para a configuração do Azure Arc.
https://*.servicebus.windows.net 443 Azure Arc habilitado K8s Usado para se conectar com segurança a clusters Kubernetes habilitados para Azure Arc sem exigir que qualquer porta de entrada seja habilitada no firewall.
https://guestnotificationservice.azure.com 443 Azure Arc habilitado K8s Usado para operações de notificação de convidado.
sts.windows.net 443 Azure Arc habilitado K8s Para o cenário baseado em Conexão de Cluster e Local Personalizado.
https://*.dp.prod.appliances.azure.com 443 Ponte de recursos do arco Usado para operações de plano de dados para ponte de recursos (appliance).
*.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 Utilizado 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 Kubernetes no Azure Stack HCI 23H2