Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
Este artigo ajuda você a implantar um cluster do AKS baseado em link privado. Se você estiver interessado em criar um cluster do AKS sem o link ou túnel privado necessário, consulte Criar um cluster do AKS (Serviço de Kubernetes do Azure) com integração de VNet do Servidor de API.
Visão geral de clusters privados no AKS
Em um cluster privado, o plano de controle ou o servidor de API tem endereços IP internos definidos no RFC1918 - Alocação de Endereços para Internet Privada. Usando um cluster privado, você pode garantir que o tráfego de rede entre o servidor de API e os pools de nós permaneça apenas na rede privada.
O painel de controle ou o servidor de API estão em um grupo de recursos do Azure gerenciado pelo AKS e o seu cluster ou pool de nós está no seu grupo de recursos. O servidor e o cluster ou pool de nós podem se comunicar entre si por meio do serviço de Link Privado do Azure na rede virtual do servidor da API e um ponto de extremidade privado exposto na sub-rede do seu cluster do AKS.
Quando você cria um cluster privado do AKS, o AKS cria FQDNs (nomes de domínio totalmente qualificados) privados e públicos com zonas DNS correspondentes por padrão. Para obter opções detalhadas de configuração de DNS, consulte Configurar uma zona DNS privada, uma subzone DNS privada ou um subdomínio personalizado.
Disponibilidade de região
Os clusters privados estão disponíveis em regiões públicas, no Azure Governamental e no Microsoft Azure operados por 21 regiões daVianet em que o AKS tem suporte.
Pré-requisitos para clusters privados do AKS
- A CLI do Azure versão 2.28.0 ou superior. Execute
az --versionpara localizar a versão eaz upgradepara atualizar a versão. Se você precisar instalar ou atualizar, consulte Instalar a CLI do Azure. - Se estiver usando o ARM (Azure Resource Manager) ou a API REST do Azure, a versão da API do AKS deverá ser 2021-05-01 ou superior.
- Para usar um servidor DNS personalizado, adicione o endereço IP público do Azure 168.63.129.16 como o servidor DNS upstream no servidor DNS personalizado e adicione esse endereço IP público como o primeiro servidor DNS. Para obter mais informações sobre o endereço IP do Azure, consulte o que é o endereço IP 168.63.129.16?
- A zona DNS do cluster deve ser aquela para a qual você encaminha 168.63.129.16. Você pode encontrar mais informações sobre nomes de zona na configuração de zona DNS dos serviços do Azure.
- Os clusters do AKS existentes habilitados com a integração da VNet do Servidor de API podem ter o modo de cluster privado habilitado. Para obter mais informações, consulte Habilitar ou desabilitar o modo de cluster privado em um cluster existente com integração de VNet do Servidor de API.
Importante
A partir de 30 de novembro de 2025, o AKS (Serviço de Kubernetes do Azure) não dá mais suporte ou fornece atualizações de segurança para o Azure Linux 2.0. A imagem do nó do Azure no Linux 2.0 está congelada na versão 202512.06.0. A partir de 31 de março de 2026, as imagens de nó serão removidas e não será possível escalar os grupos de nós. Migre para uma versão do Azure Linux com suporte atualizando os pools de nós para uma versão do Kubernetes com suporte ou migrando para o osSku AzureLinux3. Para obter mais informações, consulte [Desativação] Pools de nós do Azure Linux 2.0 no AKS.
Limitações e considerações para clusters privados do AKS
- Você não pode aplicar intervalos autorizados por IP ao ponto de extremidade do servidor de API privada – eles se aplicam apenas ao servidor de API público.
- As limitações do serviço de Link Privado do Azure se aplicam a clusters privados.
- Não há suporte para Agentes do Azure DevOps hospedados pela Microsoft com clusters privados. Considere o uso de agentes auto-hospedados.
- Se você precisar habilitar o Registro de Contêiner do Azure em um cluster privado do AKS, configure um link privado para o registro de contêiner na VNet (rede virtual do cluster) ou configure o emparelhamento entre a rede virtual do registro de contêiner e a rede virtual do cluster privado.
- Excluir ou modificar o ponto de extremidade privado na sub-rede do cliente faz com que o cluster pare de funcionar.
- Há suporte para o serviço Link Privado do Azure apenas no Azure Load Balancer Standard. Não há suporte para Azure Load Balancer básico.
Hub e spoke com DNS personalizado para clusters AKS privados
As arquiteturas de hub e spoke geralmente são usadas para implantar redes no Azure. Em muitas dessas implantações, as configurações de DNS nas VNets spoke são definidas para fazer referência a um encaminhador DNS central para permitir a resolução de DNS local e baseada no Azure.
Tenha as seguintes considerações em mente ao implantar clusters privados do AKS em arquiteturas de hub e spoke com DNS personalizado:
Quando um cluster privado é criado, um ponto de extremidade privado (1) e uma zona DNS privada (2) são criados no grupo de recursos gerenciados por cluster por padrão. O cluster utiliza um registro
Ana zona privada para resolver o IP do ponto de extremidade privado para comunicação com o servidor da API.A zona DNS privada é vinculada apenas à VNet à qual os nós de cluster estão anexados (3), o que significa que o ponto de extremidade privado só pode ser resolvido por hosts nessa VNet vinculada. Em cenários em que nenhum DNS personalizado está configurado na VNet (padrão), ele funciona sem problemas, pois os hosts apontam para 168.63.129.16 para DNS que podem resolver registros na zona de DNS privado devido ao link.
Se você mantiver o comportamento de zona DNS privado padrão, o AKS tentará vincular a zona diretamente à VNet spoke que hospeda o cluster mesmo quando a zona já estiver vinculada a uma VNet do hub.
Em VNets spoke que utilizam servidores DNS personalizados, esta ação pode falhar se a identidade gerenciada do cluster não tiver o colaborador de rede na VNet do spoke.
Para evitar a falha, escolha uma das seguintes configurações com suporte:
-
Zona DNS privada personalizada: forneça uma zona privada pré-criada e defina
privateDNSZone/--private-dns-zonecomo sua ID de recurso. Vincule essa zona à VNet apropriada (por exemplo, a VNet do hub) e definapublicDNScomofalse/use--disable-public-fqdn. -
Somente DNS público: desabilite a criação de zona privada definindo
privateDNSZone/--private-dns-zonenonee deixandopublicDNSem seu valor padrão (true) /não use--disable-public-fqdn.
-
Zona DNS privada personalizada: forneça uma zona privada pré-criada e defina
Se estiver usando traga sua própria tabela de rotas (BYO) com o kubenet e BYO DNS com clusters privados, a criação do cluster falha. Você precisa associar o
RouteTableno grupo de recursos do nó à sub-rede após a criação do cluster falhar em tornar a criação bem-sucedida.
Tenha em mente as seguintes limitações ao usar o DNS personalizado com clusters privados do AKS:
- Configurar
privateDNSZone/--private-dns-zoneparanoneepublicDNS: false/--disable-public-fqdnao mesmo tempo não é suportado. - O encaminhamento condicional não dá suporte a subdomínios.
Criar um cluster do AKS privado com rede básica padrão
Crie um grupo de recursos usando o comando
az group create. Você também pode usar um grupo de recursos existente para seu cluster do AKS.az group create \ --name <private-cluster-resource-group> \ --location <location>Crie um cluster privado com rede básica padrão usando o comando
az aks createcom o sinalizador--enable-private-cluster.Parâmetros de chave neste comando:
-
--enable-private-cluster: habilita o modo de cluster privado.
az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --generate-ssh-keys-
Configure o kubectl para se conectar ao cluster privado do AKS.
Criar um cluster privado do AKS com rede avançada
Crie um grupo de recursos usando o comando
az group create. Você também pode usar um grupo de recursos existente para seu cluster do AKS.az group create \ --name <private-cluster-resource-group> \ --location <location>Crie um cluster privado com rede avançada usando o
az aks createcomando.Parâmetros de chave neste comando:
-
--enable-private-cluster: habilita o modo de cluster privado. -
--network-plugin azure: especifica o plug-in de rede CNI do Azure. -
--vnet-subnet-id: a ID de recurso de uma sub-rede existente em uma rede virtual. -
--dns-service-ip: um endereço IP disponível dentro do intervalo de endereços de serviço do Kubernetes a ser usado para o serviço DNS do cluster. -
--service-cidr: um intervalo IP com notação CIDR do qual designar serviço de cluster IPs.
az aks create \ --resource-group <private-cluster-resource-group> \ --name <private-cluster-name> \ --load-balancer-sku standard \ --enable-private-cluster \ --network-plugin azure \ --vnet-subnet-id <subnet-id> \ --dns-service-ip 10.2.0.10 \ --service-cidr 10.2.0.0/24 --generate-ssh-keys-
Configure o kubectl para se conectar ao cluster privado do AKS.
Usar domínios personalizados com clusters privados do AKS
Se você quiser configurar domínios personalizados que só podem ser resolvidos internamente, consulte Usar domínios personalizados.
Desabilitar um Nome de Domínio Completo (FQDN) público em um cluster privado do AKS
Desabilitar um FQDN público em um novo cluster
Desabilite um FQDN público ao criar um cluster do AKS privado usando o comando
az aks createcom o sinalizador--disable-public-fqdn.az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone <private-dns-zone-mode> \ --disable-public-fqdn \ --generate-ssh-keys
Desabilitar um FQDN público em um cluster existente
Desabilite um FQDN público em um cluster do AKS existente usando o comando
az aks updatecom o sinalizador--disable-public-fqdn.az aks update \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --disable-public-fqdn
Configurar uma zona DNS privada, uma subzone DNS privada ou um subdomínio personalizado para um cluster privado do AKS
Você pode definir configurações de DNS privadas para um cluster do AKS privado usando a CLI do Azure (com o --private-dns-zone parâmetro) ou um modelo do ARM (Azure Resource Manager) (com a privateDNSZone propriedade). A tabela a seguir descreve as opções disponíveis para o --private-dns-zone parâmetro/ privateDNSZone propriedade:
| Configurações | Description |
|---|---|
system |
O valor padrão ao configurar uma zona DNS privada. Se você omitir --private-dns-zone / privateDNSZone, o AKS criará uma zona de DNS privado no grupo de recursos do nó. |
none |
Se você definir --private-dns-zone / privateDNSZone para none, o AKS não criará uma zona DNS privada. |
<custom-private-dns-zone-resource-id> |
Para usar esse parâmetro, você precisa criar uma zona DNS privada no seguinte formato para a nuvem global do Azure: privatelink.<region>.azmk8s.io ou <subzone>.privatelink.<region>.azmk8s.io. Você precisa da ID do recurso da zona DNS privada para uso futuro. Você também precisa de uma identidade atribuída pelo usuário ou um principal de serviço com as funções Colaborador de Zona DNS Privada e Colaborador de Rede. Para clusters que usam a integração de VNet do Servidor de API, uma zona DNS privada dá suporte ao formato de nomenclatura de private.<region>.azmk8s.io ou <subzone>.private.<region>.azmk8s.io. Você não pode alterar ou excluir esse recurso depois de criar o cluster, pois ele pode causar problemas de desempenho e falhas de atualização de cluster. Você pode usar --fqdn-subdomain <subdomain> com <custom-private-dns-zone-resource-id> apenas para fornecer recursos de subdomínio para privatelink.<region>.azmk8s.io. Se você estiver especificando um subzone, haverá um limite de 32 caracteres para o <subzone> nome. |
Tenha as seguintes considerações em mente ao configurar o DNS privado para um cluster privado do AKS:
- Se a zona DNS privada estiver em uma assinatura diferente do cluster do AKS, você precisará registrar o provedor do Azure
Microsoft.ContainerServicesem ambas as assinaturas. - Se o cluster do AKS estiver configurado com uma entidade de serviço do Active Directory, o AKS não dará suporte ao uso de uma identidade gerenciada atribuída pelo sistema com uma zona DNS privada personalizada. O cluster deve usar a autenticação de identidade gerenciada atribuída pelo usuário.
Crie um cluster do AKS privado com uma zona DNS privada
Crie um cluster do AKS privado com uma zona DNS privada usando o
az aks createcomando.Parâmetros de chave neste comando:
-
--enable-private-cluster: habilita o modo de cluster privado. -
--private-dns-zone [system|none]: configura a zona DNS privada para o cluster. O valor padrão ésystem. -
--assign-identity <resource-id>: o ID de recurso de uma identidade gerenciada atribuída pelo usuário com as funções Colaborador de Zona de DNS privado e Colaborador de Rede.
az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone [system|none] \ --generate-ssh-keys-
Configure o kubectl para se conectar ao cluster privado do AKS.
Crie um cluster do AKS privado com uma zona DNS privada personalizada ou uma subzona DNS privada
Crie um cluster do AKS privado com uma zona DNS privada personalizada ou subzone usando o
az aks createcomando.Parâmetros de chave neste comando:
-
--enable-private-cluster: habilita o modo de cluster privado. -
--private-dns-zone <custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>: o ID de recurso de uma zona de DNS privado ou subzona pré-criada no seguinte formato para a nuvem global do Azure:privatelink.<region>.azmk8s.ioou<subzone>.privatelink.<region>.azmk8s.io. -
--assign-identity <resource-id>: o ID de recurso de uma identidade gerenciada atribuída pelo usuário com as funções Colaborador de Zona de DNS privado e Colaborador de Rede.
# The custom private DNS zone name should be in the following format: "<subzone>.privatelink.<region>.azmk8s.io" az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone [<custom-private-dns-zone-resource-id>|<custom-private-dns-subzone-resource-id>] \ --generate-ssh-keys-
Configure o kubectl para se conectar ao cluster privado do AKS.
Crie um cluster do AKS privado com uma zona DNS privada personalizada e um subdomínio personalizado
Crie um cluster do AKS privado com uma zona DNS privada personalizada e um subdomínio usando o
az aks createcomando.Parâmetros de chave neste comando:
-
--enable-private-cluster: habilita o modo de cluster privado. -
--private-dns-zone <custom-private-dns-zone-resource-id>: A ID de recurso de uma zona DNS privada pré-criada no seguinte formato para a nuvem global do Azure:privatelink.<region>.azmk8s.io. -
--fqdn-subdomain <subdomain>: o subdomínio a ser usado para o FQDN do cluster dentro da zona DNS privada personalizada. -
--assign-identity <resource-id>: o ID de recurso de uma identidade gerenciada atribuída pelo usuário com as funções Colaborador de Zona de DNS privado e Colaborador de Rede.
# The custom private DNS zone name should be in one of the following formats: "privatelink.<region>.azmk8s.io" or "<subzone>.privatelink.<region>.azmk8s.io" az aks create \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --load-balancer-sku standard \ --enable-private-cluster \ --assign-identity <resource-id> \ --private-dns-zone <custom-private-dns-zone-resource-id> \ --fqdn-subdomain <subdomain> \ --generate-ssh-keys-
Configure o kubectl para se conectar ao cluster privado do AKS.
Atualizar um cluster do AKS privado existente de uma zona DNS privada para pública
Você apenas pode atualizar de byo (traga seu próprio) ou system para none. Não há suporte para nenhuma outra combinação de valores de atualização.
Aviso
Ao atualiza um cluster privado de byo ou system para none, os nós do agente são alterados para usar um FQDN público. Em um cluster do AKS que usa Conjuntos de Dimensionamento de Máquinas Virtuais do Microsoft Azure, uma atualização de imagem de nó é executada para atualizar os seus nós com o FQDN público.
Atualize um cluster privado de
byoousystemparanoneusando o comandoaz aks updatecom o parâmetro--private-dns-zonedefinido comonone.az aks update \ --name <private-cluster-name> \ --resource-group <private-cluster-resource-group> \ --private-dns-zone none
Configurar o kubectl para se conectar a um cluster privado do AKS
Para gerenciar um cluster kubernetes, use o cliente de linha de comando do Kubernetes, kubectl.
kubectl já está instalado se você usa o Azure Cloud Shell. Para instalar kubectl localmente, use o comando az aks install-cli.
Configure o
kubectlpara se conectar ao cluster do Kubernetes usando o comandoaz aks get-credentials. Este comando baixa as credenciais e configura a CLI do Kubernetes para usá-las.az aks get-credentials --resource-group <private-cluster-resource-group> --name <private-cluster-name>Verifique a conexão com o cluster usando o comando
kubectl get. Esse comando retorna uma lista dos nós de cluster.kubectl get nodesO comando retorna uma saída semelhante à seguinte saída de exemplo:
NAME STATUS ROLES AGE VERSION aks-nodepool1-12345678-vmss000000 Ready agent 3h6m v1.15.11 aks-nodepool1-12345678-vmss000001 Ready agent 3h6m v1.15.11 aks-nodepool1-12345678-vmss000002 Ready agent 3h6m v1.15.11