AKS ativado 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 as suas VMs e aplicações no AKS ativado pelo Azure Arc. O artigo também descreve os pré-requisitos de rede necessários para criar clusters do Kubernetes. Recomendamos que trabalhe com um administrador de rede para fornecer e configurar os parâmetros de rede necessários para implementar o AKS ativado pelo Arc.

Neste artigo conceptual, são introduzidos os seguintes componentes principais. Estes componentes precisam de um endereço IP estático para que o cluster e as aplicações do AKS Arc criem e funcionem com êxito:

  • AKS cluster VMs
  • IP do plano de controlo do AKS
  • Balanceador de carga para aplicações em contentores

Rede para VMs de cluster do AKS

Os nós do Kubernetes são implementados como máquinas virtuais especializadas no AKS ativadas pelo Arc. Estas VMs são endereços IP alocados para permitir a comunicação entre nós do Kubernetes. O AKS Arc utiliza redes lógicas do Azure Stack HCI para fornecer endereços IP e redes para as VMs subjacentes dos clusters do Kubernetes. Para obter mais informações sobre redes lógicas, veja Redes lógicas para o Azure Stack HCI. Tem de planear reservar um endereço IP por VM de nó de cluster do AKS no seu ambiente do Azure Stack HCI.

Nota

O IP estático é o único modo suportado para atribuir um endereço IP a VMs do AKS Arc. Isto acontece porque o Kubernetes requer que o endereço IP atribuído a um nó do Kubernetes seja constante ao longo do ciclo de vida do cluster do Kubernetes.

São necessários os seguintes parâmetros para utilizar uma rede lógica para a operação de criação de clusters do AKS Arc:

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

IP do plano de controlo

O Kubernetes utiliza um plano de controlo para garantir que todos os componentes do cluster do Kubernetes são mantidos no estado pretendido. O plano de controlo também gere e mantém os nós de trabalho que contêm as aplicações em contentores. O AKS ativado pelo Arc implementa o balanceador de carga do KubeVIP para garantir que o endereço IP do servidor de API do plano de controlo do Kubernetes está sempre disponível. Esta instância do KubeVIP requer um único "endereço IP do plano de controlo" imutável para funcionar corretamente.

Nota

O IP do plano de controlo é um parâmetro necessário para criar um cluster do Kubernetes. Tem de garantir que o endereço IP do plano de controlo de um cluster do Kubernetes não se sobrepõe a mais nada, incluindo redes lógicas de VM do Arc, IPs de rede de infraestrutura, balanceadores de carga, etc. O IP do plano de controlo também tem de estar dentro do âmbito do prefixo de endereço da rede lógica, mas fora do conjunto IP. Isto acontece porque o conjunto IP só é utilizado para VMs e, se escolher um endereço IP do conjunto IP do plano de controlo, pode resultar um conflito de endereços IP. A sobreposição de endereços IP pode levar a falhas inesperadas no cluster do AKS e em qualquer outro local onde o endereço IP esteja a ser utilizado. Tem de planear reservar um endereço IP por cluster do Kubernetes no seu ambiente.

IPs do balanceador de carga para aplicações em contentores

O principal objetivo de um balanceador de carga é distribuir o tráfego por vários nós num cluster do Kubernetes. Este balanceamento de carga pode ajudar a evitar o período de indisponibilidade e a melhorar o desempenho geral das aplicações. O AKS suporta as seguintes opções para implementar um balanceador de carga para o cluster do Kubernetes:

Quer escolha a extensão MetalLB Arc ou traga o seu próprio balanceador de carga, tem de fornecer um conjunto de endereços IP ao serviço do balanceador de carga. Tem as seguintes opções:

  • Forneça endereços IP para os seus serviços a partir da mesma sub-rede que as VMs do AKS Arc.
  • Utilize uma rede diferente e uma lista de endereços IP se a sua aplicação precisar de balanceamento de carga externo.

Independentemente da opção que escolher, tem de garantir que os endereços IP alocados ao balanceador de carga não entram em conflito com os endereços IP na rede lógica ou os IPs do plano de controlo dos clusters do Kubernetes. Os endereços IP em conflito podem originar falhas imprevistas na implementação e nas aplicações do AKS.

Planeamento de endereços IP simples para clusters e aplicações do Kubernetes

No cenário seguinte, pode reservar endereços IP de uma única rede para os clusters e serviços do Kubernetes. Este é o cenário mais simples 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 quiser criar três conjuntos de nós com 3 nós em cada conjunto de nós, tem de ter 9 endereços IP no conjunto IP. Reserve endereços IP para VMs do AKS Arc através de conjuntos IP na rede lógica da VM do Arc.
IPs de atualização da versão do AKS Arc K8s Uma vez que o AKS Arc efetua atualizações sem interrupções, reserve um endereço IP para cada cluster do AKS Arc para operações de atualização da versão do Kubernetes. Reserve endereços IP para a operação de atualização da versão K8s através de conjuntos IP na rede lógica da VM do Arc.
IP do plano de controlo Reserve um endereço IP para cada cluster do Kubernetes no seu ambiente. Por exemplo, se 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 controlo na mesma sub-rede que a rede lógica da VM do Arc, mas fora do conjunto IP especificado.
IPs do balanceador de carga O número de endereços IP reservados depende do modelo de implementação de aplicações. Como ponto de partida, pode reservar um endereço IP para cada serviço do Kubernetes. Reserve endereços IP para IPs do plano de controlo na mesma sub-rede que a rede lógica da VM do Arc, mas fora do conjunto IP especificado.

Instruções de exemplo para a reserva de endereços IP para clusters e aplicações do Kubernetes

A Joana é administradora de TI a começar com o AKS ativado pelo Azure Arc. Quer implementar dois clusters do Kubernetes: o cluster A do Kubernetes e o cluster do Kubernetes B no cluster do Azure Stack HCI. Também quer executar uma aplicação de votação sobre o cluster A. Esta aplicação tem três instâncias da IU de front-end em execução nos dois clusters e uma instância da base de dados de back-end. Todos os clusters e serviços do AKS estão em execução numa única rede, com uma única sub-rede.

  • O cluster A do Kubernetes tem 3 nós de plano de controlo e 5 nós de trabalho.
  • O cluster do Kubernetes B tem 1 nó de plano de controlo e 3 nós de trabalho.
  • 3 instâncias da IU de front-end (porta 443).
  • 1 instância da base de dados de back-end (porta 80).

Com base na tabela anterior, tem de reservar um total de 19 endereços IP na sub-rede:

  • 8 endereços IP para as VMs do nó do AKS Arc no cluster A (um IP por VM de nó K8s).
  • 4 endereços IP para as VMs do nó do AKS Arc no cluster B (um IP por VM de 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 plano de controlo 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 IU de front-end, uma vez que todos utilizam a mesma porta. A base de dados de back-end pode utilizar qualquer um dos três endereços IP, desde que utilize uma porta diferente).

Continuando com este exemplo e adicionando-o à seguinte tabela, obtém:

Parâmetro Número de endereços IP Como e onde fazer esta reserva
Atualização da versão do AKS Arc para VMs e K8s Reservar 14 endereços IP Faça esta reserva através de conjuntos IP na rede lógica do Azure Stack HCI.
IP do plano de controlo Reservar 2 endereços IP, um para o cluster do AKS Arc Utilize o controlPlaneIP parâmetro para transmitir o endereço IP para o IP do plano de controlo. Certifique-se de que este IP está na mesma sub-rede que a rede lógica do Arc, mas fora do conjunto IP definido na rede lógica do Arc.
IPs do balanceador de carga 3 endereço IP para os serviços do Kubernetes, para a aplicação de votação da Joana. Estes endereços IP são utilizados quando instala um balanceador de carga no cluster A. Pode utilizar a extensão MetalLB Arc ou trazer o seu próprio balanceador de carga de terceiros. Confirme que este IP está na mesma sub-rede que a rede lógica do Arc, mas fora do conjunto IP definido na rede lógica da VM do Arc.

Definições de proxy

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

Requisitos de porta de rede & entre VLAN

Quando implementa o Azure Stack HCI, aloca um bloco contíguo de, pelo menos, seis endereços IP estáticos na sub-rede da sua rede de gestão, omitindo endereços já utilizados pelos servidores físicos. Estes IPs são utilizados pelo Azure Stack HCI e pela infraestrutura interna (Arc Resource Bridge) para a gestão de VMs do Arc e o AKS Arc. Se a rede de gestão que fornece endereços IP aos serviços do Azure Stack HCI relacionados com a Bridge de Recursos do Arc estiver numa VLAN diferente da rede lógica que utilizou para criar clusters do AKS, tem de garantir que as seguintes portas estão abertas para criar e operar com êxito um cluster do AKS.

Porta de destino Destino Fonte Descrição Notas de rede entre VLAN
22 Rede lógica utilizada para VMs do AKS Arc Endereços IP na rede de gestão Necessário para recolher registos para resolução de problemas. Se utilizar VLANs separadas, os endereços IP na rede de gestão utilizada para o Azure Stack HCI e a Bridge de Recursos do Arc têm de aceder às VMs do cluster do AKS Arc nesta porta.
6443 Rede lógica utilizada para VMs do AKS Arc Endereços IP na rede de gestão Necessário para comunicar com as APIs do Kubernetes. Se utilizar VLANs separadas, os endereços IP na rede de gestão utilizada para o Azure Stack HCI e a Bridge de Recursos do Arc têm de aceder às VMs do cluster do AKS Arc nesta porta.
55000 Endereços IP na rede de gestão Rede lógica utilizada para VMs do AKS Arc Servidor gRPC do Agente da Cloud Se utilizar VLANs separadas, as VMs do AKS Arc têm de aceder aos endereços IP na rede de gestão utilizada para o IP do agente da cloud e o IP do cluster nesta porta.
65000 Endereços IP na rede de gestão Rede lógica utilizada para VMs do AKS Arc Autenticação gRPC do Agente da Cloud Se utilizar VLANs separadas, as VMs do AKS Arc têm de aceder aos endereços IP na rede de gestão utilizada para o IP do agente da cloud e o IP do cluster nesta porta.

Exceções de URL da firewall

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

Para implementação e operação de clusters do Kubernetes, os seguintes URLs têm de estar acessíveis a partir de todos os nós físicos e VMs do AKS Arc na implementação. Certifique-se de que estes URLS são permitidos na configuração da firewall:

URL Porta Serviço Notas
https://mcr.microsoft.com 443 Registo de contentor da Microsoft Utilizado para artefactos oficiais da Microsoft, como imagens de contentor.
https://*.his.arc.azure.com 443 Serviço de identidade do Azure Arc Utilizado para controlo de identidade e acesso.
https://*.dp.kubernetesconfiguration.azure.com 443 Utilizar o Kubernetes Utilizado para a configuração do Azure Arc.
https://*.servicebus.windows.net 443 Ligação do cluster Utilizado para ligar de forma segura a clusters do Kubernetes compatíveis com o Azure Arc sem que seja necessária qualquer porta de entrada para ser ativada na firewall.
https://guestnotificationservice.azure.com 443 Serviço de notificação Utilizado para operações de notificação de convidado.
https://*.dp.prod.appliances.azure.com 443 Serviço de plano de dados Utilizado para operações do plano de dados para a Bridge de recursos (aplicação).
*.data.mcr.microsoft.com
azurearcfork8s.azurecr.io
linuxgeneva-microsoft.azurecr.io
pipelineagent.azurecr.io
ecpacr.azurecr.io
443 Transferir agente Utilizado para transferir imagens e agentes.
*.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
443 Métricas e monitorização do estado de funcionamento Utilizado para métricas e monitorização do tráfego de telemetria.
*.blob.core.windows.net
*.dl.delivery.mp.microsoft.com
*.do.dsp.mp.microsoft.com
443 TCP Utilizado para transferir imagens da Bridge de recursos (aplicação).
https://azurearcfork8sdev.azurecr.io 443 Utilizar o Kubernetes Utilizado para transferir imagens de contentor do Azure Arc para Kubernetes.
https://adhs.events.data.microsoft.com 443 Telemetria O ADHS é um serviço de telemetria em execução dentro da aplicação/SO de mariner. Utilizado periodicamente para enviar dados de diagnóstico necessários para a Microsoft a partir de nós do plano de controlo. Utilizado quando a telemetria está a sair do mariner, o que significa qualquer plano de controlo do Kubernetes.
https://v20.events.data.microsoft.com 443 Telemetria Utilizado periodicamente para enviar dados de diagnóstico necessários para a Microsoft a partir do anfitrião do Windows Server.
gcr.io 443 Registo de contentor do Google Utilizado para artefactos oficiais do Kubernetes, como imagens de base de contentor.
pypi.org 443 Pacote Python Valide as versões do Kubernetes e do Python.
*.pypi.org 443 Pacote Python Valide as versões do Kubernetes e do Python.
https://hybridaks.azurecr.io 443 Imagem de contentor Necessário para aceder à imagem do operador HybridAKS.
aka.ms 443 az extensions Necessário para transferir extensões da CLI do Azure, como aksarc e connectedk8s.
*.login.microsoft.com 443 Azure É necessário obter e atualizar os tokens do Azure Resource Manager.
sts.windows.net 443 Azure Arc Para o cenário baseado no Cluster Connect e na Localização Personalizada.
hybridaksstorage.z13.web.core.windows.net 443 Azure Stack HCI Site estático do AKSHCI alojado no Armazenamento do Azure.
raw.githubusercontent.com 443 GitHub Utilizado para o GitHub.
www.microsoft.com 80 Site oficial da Microsoft. Site oficial da Microsoft.
*.prod.do.dsp.mp.microsoft.com 443 Microsoft Update Transferência da imagem da bridge de recursos (aplicação).
files.pythonhosted.org 443 Pacote Python Pacote Python.

Passos seguintes

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