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" . |
|
--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 . |
|
--gateway |
Gateway. O endereço IP do gateway deve estar dentro do escopo do prefixo de endereço. Uso: --gateway 10.220.32.16 . |
|
--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" . |
|
--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" . |
|
--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" . |
|
--vm-switch-name |
O nome do comutador de VM. Uso: --vm-switch-name "vm-switch-01" . |
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:
- Implante o balanceador de carga do MetalLB usando a extensão do Azure Arc.
- Traga seu próprio balanceador de carga de terceiros.
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