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" . |
|
--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 seu pool de IP. O endereço deve estar no intervalo do prefixo do endereço. Uso: --ip-pool-start "10.220.32.18" . |
|
--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" . |
|
--vm-switch-name |
O nome da opção VM. Uso: --vm-switch-name "vm-switch-01" . |
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:
- Implante o balanceador de carga do MetalLB usando a extensão 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, 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
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de