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.
Aplica-se a: ✔️ AKS Automatic ✔️ AKS Standard
Um cluster do AKS (Serviço de Kubernetes do Azure) configurado com a Integração do Servidor de API na VNet projeta o endpoint do servidor de API diretamente em uma sub-rede delegada na VNet onde o AKS está implantado. A Integração de VNet do Servidor de API permite a comunicação de rede entre o servidor de API e os nós de cluster, sem a necessidade de um túnel ou um link privado. O servidor de API está disponível por trás de um balanceador de carga interno VIP na sub-rede delegada, que os nós estão configurados para utilizar. Ao usar a integração de VNet do Servidor de API, é possível garantir que o tráfego de rede entre o servidor de API e os pools de nós permaneça somente na rede privada.
Para a maioria das cargas de trabalho de produção, o AKS Automatic é a experiência padrão recomendada do AKS. O AKS Automatic está pronto para produção por padrão e inclui a Integração VNet do Servidor de API como uma funcionalidade de segurança de cluster pré-configurada. No AKS Standard, a Integração VNet do Servidor de API é opcional e você a habilita durante a criação do cluster ou atualizando um cluster existente.
Para saber mais sobre o AKS Automatic, confira O que é AKS (Serviço de Kubernetes do Azure) Automático?
Integração de VNet do servidor de API no AKS Automatic e AKS Standard
A Integração VNet do Servidor de API está disponível em ambos os modos de cluster do AKS, mas a configuração é diferente:
- AKS Automatic: API Server VNet Integration é pré-configurada.
- AKS Standard: a integração de VNet do servidor de API é opcional e deve ser habilitada explicitamente.
Para a maioria dos cenários de produção, comece com o AKS Automatic para usar padrões prontos para produção e reduza a sobrecarga operacional.
Conectividade do servidor de API
O plano de controle ou servidor de API está em uma assinatura de Azure gerenciada pelo AKS. Seu cluster ou pool de nós está em sua assinatura do Azure. O servidor e as máquinas virtuais que compõem os nós de cluster podem se comunicar entre si por meio do VIP do servidor de API e dos IPs de pod projetados na sub-rede delegada.
A Integração da VNet do Servidor API é compatível com clusters públicos ou privados. Você pode adicionar ou remover o acesso público após o provisionamento do cluster. Ao contrário dos clusters integrados que não são da VNet, os nós do agente sempre se comunicam diretamente com o endereço IP privado do IP do balanceador de carga interno (ILB) do servidor de API sem usar o DNS. Todo o tráfego entre o nó e o servidor de API é mantido em uma rede privada, de modo que nenhum túnel é necessário para a conectividade entre o servidor de API e o nó. Clientes fora do cluster que precisam se comunicar com o servidor de API podem fazer isso normalmente se o acesso à rede pública estiver habilitado. Se o acesso à rede pública estiver desabilitado, você deve seguir a mesma metodologia de configuração do DNS privado usada nos clusters privados padrão.
Pré-requisitos
- Você deve ter CLI do Azure versão 2.73.0 ou posterior instalada. Você pode verificar sua versão usando o
az --versioncomando. - Se você trouxer sua própria rede virtual, examine os pré-requisitos da rede virtual.
Limitações
As seguintes limitações se aplicam à Integração VNet do Servidor de API, seja ela pré-configurada no AKS Automático ou habilitada explicitamente no AKS Standard:
- A Integração VNet do Servidor de API não dá suporte à Criptografia de Rede Virtual. Clusters implantados em SKUs de nó do AKS v3 ou anteriores (que não dão suporte à Criptografia de VNet) são permitidos, mas o tráfego não é criptografado. Clusters implantados em SKUs de nó do AKS v4 ou posterior (que dão suporte à Criptografia de VNet) estão bloqueados porque as VNets criptografadas são incompatíveis com a Integração de VNet do Servidor de API. Para obter mais informações, consulte SKUs de VM com suporte do AKS.
- Para utilizar a rede de pilha dupla, seu cluster precisa da versão 1.26.3 ou posterior do Kubernetes, do plug-in de rede
azuree do modo de plug-in de redeoverlay. Para obter mais informações, consulte CNI do Azure com rede de pilha dupla.
Disponibilidade
- A Integração VNet do Servidor de API está disponível em todas as regiões de nuvem pública de GA, exceto no qatarcentral.
Criar um cluster com a integração da VNet do servidor de API
AKS Automático (padrão recomendado para produção)
No AKS Automatic, a integração de VNet do servidor de API é pré-configurada. Nenhum sinalizador explícito --enable-apiserver-vnet-integration é necessário.
Crie um cluster automático do AKS seguindo o início rápido:
AKS Standard: VNet gerenciada
Você pode configurar clusters do AKS Standard com a Integração VNet do Servidor de API no modo VNet gerenciado como clusters públicos ou privados.
Observação
A Integração VNet do Servidor de API não está disponível no qatarcentral.
Criar um grupo de recursos
Crie um grupo de recursos usando o comando az group create.
az group create --location <location> --name <resource-group>
Implantar um cluster público
Implante um cluster público do AKS Standard com integração da VNet do servidor de API para VNet gerenciada usando o comando az aks create com o sinalizador --enable-apiserver-vnet-integration.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
Implantar um cluster privado
Implante um cluster AKS Standard privado com integração da VNet do servidor de API para VNet gerenciada usando o comando az aks create com os sinalizadores --enable-apiserver-vnet-integration e --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--generate-ssh-keys
AKS Standard: traga sua própria VNet
Ao usar sua própria VNet, você deve criar e delegar uma sub-rede do servidor de API para Microsoft.ContainerService/managedClusters. Essa delegação concede ao serviço AKS permissões para injetar os pods do servidor da API e o balanceador de carga interno nessa sub-rede. Você não pode usar a sub-rede para nenhuma outra carga de trabalho, mas pode usá-la para vários clusters do AKS localizados na mesma rede virtual. O tamanho mínimo de sub-rede do servidor de API com suporte é /28.
A identidade do cluster precisa ter permissões na sub-rede do servidor de API e na sub-rede do nó. A falta de permissões na sub-rede do servidor de API poderá causar uma falha no provisionamento.
Aviso
Um cluster do AKS reserva pelo menos nove IPs no espaço de endereço da sub-rede. A falta de endereços IP pode impedir o dimensionamento do servidor da API e causar a indisponibilidade do servidor da API.
Observação
A Integração VNet do Servidor de API não está disponível no qatarcentral.
Criar um grupo de recursos
Crie um grupo de recursos usando o comando az group create.
az group create --location <location> --name <resource-group>
Criar uma rede virtual
Criar uma rede virtual usando o comando
az network vnet create.az network vnet create --name <vnet-name> \ --resource-group <resource-group> \ --location <location> \ --address-prefixes 172.19.0.0/16Crie uma sub-rede no servidor de API usando o comando
az network vnet subnet create.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <apiserver-subnet-name> \ --delegations Microsoft.ContainerService/managedClusters \ --address-prefixes 172.19.0.0/28Criar uma sub-rede de cluster usando o comando
az network vnet subnet create.az network vnet subnet create --resource-group <resource-group> \ --vnet-name <vnet-name> \ --name <cluster-subnet-name> \ --address-prefixes 172.19.1.0/24
Criar uma identidade gerenciada e conceder a ela permissões na rede virtual
Crie uma identidade gerenciada usando o comando
az identity create.az identity create --resource-group <resource-group> --name <managed-identity-name> --location <location>Atribua a função Colaborador de Rede à sub-rede do servidor de API usando o comando
az role assignment create.az role assignment create --scope <apiserver-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>Atribua a função Colaborador de Rede à sub-rede do cluster usando o comando
az role assignment create.az role assignment create --scope <cluster-subnet-resource-id> \ --role "Network Contributor" \ --assignee <managed-identity-client-id>
Implantar um cluster público
Implante um cluster do AKS público com integração da VNet do Servidor de API usando o comando az aks create com o sinalizador --enable-apiserver-vnet-integration.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Implantar um cluster privado
Implante um cluster do AKS privado com Integração VNet do Servidor de API usando o comando az aks create com os sinalizadores --enable-apiserver-vnet-integration e --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--network-plugin azure \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--vnet-subnet-id <cluster-subnet-resource-id> \
--apiserver-subnet-id <apiserver-subnet-resource-id> \
--assign-identity <managed-identity-resource-id> \
--generate-ssh-keys
Converter um cluster do AKS Standard existente na Integração VNet do Servidor de API
Aviso
A Integração de VNet do Servidor de API é um recurso unidirecional e sensível à capacidade. Quando você habilita a Integração VNet do Servidor de API em um cluster padrão do AKS existente, as seguintes limitações se aplicam:
-
Reinicialização manual necessária: depois de habilitar a Integração VNet do Servidor de API usando
az aks update --enable-apiserver-vnet-integration, devido à transição de recursos do plano de controle, você deve reiniciar imediatamente o cluster para que a alteração entre em vigor. Essa reinicialização não é automatizada. Atrasar a reinicialização aumenta o risco de a capacidade ficar indisponível, o que pode impedir que o servidor de API seja iniciado. A reinicialização do cluster também garante que todos os nós se reconectem de forma confiável ao novo ponto de extremidade do servidor da API. - A capacidade é validada, mas não reservada: o AKS valida a capacidade regional quando você habilita o recurso em um cluster existente, mas essa validação não reserva capacidade. Se você atrasar a reinicialização e a capacidade ficar indisponível enquanto isso, o cluster poderá falhar ao iniciar após uma parada ou reinicialização. Os clusters que habilitaram esse recurso antes da GA (disponibilidade geral) ou que ainda não foram reiniciados desde a habilitação não passam por validação de capacidade.
- O recurso não pode ser desabilitado: uma vez habilitado, o recurso é permanente. Não é possível desativar a integração de VNet do servidor de API.
Esse upgrade executa uma atualização de versão de imagem do nó em todos os pools de nós e reinicia todas as cargas de trabalho enquanto elas passam por uma atualização de imagem contínua.
Aviso
A conversão de um cluster na Integração de VNet do Servidor de API resulta em uma alteração do endereço IP do Servidor de API, embora o nome do host permaneça o mesmo. Se você configurar o endereço IP do servidor de API em quaisquer firewalls ou regras de grupo de segurança de rede, talvez seja necessário atualizar essas regras.
Atualize seu cluster para a Integração da VNet do Servidor API usando o comando
az aks updatecom o sinalizador--enable-apiserver-vnet-integration.az aks update --name <cluster-name> \ --resource-group <resource-group> \ --enable-apiserver-vnet-integration \ --apiserver-subnet-id <apiserver-subnet-resource-id>Reinicie o cluster usando os comandos [
az aks stop][az-aks-stop] e [az aks start][az-aks-start].az aks stop --name <cluster-name> --resource-group <resource-group> az aks start --name <cluster-name> --resource-group <resource-group>
Habilitar ou desabilitar o modo de cluster privado em um cluster existente com a Integração VNet do Servidor de API
Os clusters do AKS configurados com a Integração de VNet do Servidor de API podem ter o modo de acesso à rede pública/cluster privado habilitado ou desabilitado sem reimplantar o cluster. O nome do host do servidor de API não é alterado, mas as entradas de DNS público são modificadas ou removidas, se necessário.
Observação
O --disable-private-cluster está em versão prévia no momento. Para obter mais informações, confira Níveis de referência e suporte.
Habilitar o modo de cluster privado
Habilite o modo de cluster privado usando o comando az aks update com o sinalizador --enable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--enable-private-cluster \
--enable-apiserver-vnet-integration \
--apiserver-subnet-id <apiserver-subnet-resource-id>
Desabilitar o modo de cluster privado
Desabilitar o modo de cluster privado usando o comando az aks update com o sinalizador --disable-private-cluster.
az aks update --name <cluster-name> \
--resource-group <resource-group> \
--disable-private-cluster
Conectar-se ao cluster usando o kubectl
Configure kubectl para se conectar ao seu cluster usando o comando az aks get-credentials.
az aks get-credentials --resource-group <resource-group> --name <cluster-name>
Expor o servidor de API por meio de Link Privado
Você pode expor o endpoint do servidor de API de um cluster privado com a Integração VNet do Servidor de API usando o Link Privado do Azure. As etapas a seguir mostram como criar um PLS (serviço de Link Privado) na VNet do cluster e conectar-se a ela de outra VNet ou assinatura usando um ponto de extremidade privado.
Observação
A Integração VNet do Servidor de API não está disponível no qatarcentral.
Criar um cluster privado de integração de VNet do servidor de API
Crie um cluster AKS privado com a integração da VNet do Servidor de API usando o comando az aks create com os sinalizadores --enable-apiserver-vnet-integration e --enable-private-cluster.
az aks create --name <cluster-name> \
--resource-group <resource-group> \
--location <location> \
--enable-private-cluster \
--enable-apiserver-vnet-integration
Para obter mais diretrizes sobre como configurar Link Privado com a Integração VNet do Servidor de API, consulte Link Privado com a Integração VNet do Servidor de API.
Regras de segurança do grupo de segurança de rede (NSG)
Todo o tráfego dentro da VNet é permitido por padrão. Mas se você adicionou regras NSG para restringir o tráfego entre sub-redes diferentes, verifique se as regras de segurança do NSG permitem os seguintes tipos de comunicação:
| Destino | Fonte | Protocolo | Porta | Utilização |
|---|---|---|---|---|
| CIDR de sub-rede do APIServer | Sub-rede do cluster | TCP | 443 e 4443 | Necessário para habilitar a comunicação entre nós e o servidor de API. |
| CIDR de sub-rede do APIServer | Azure Load Balancer | TCP | 9988 | Necessário para habilitar a comunicação entre Azure Load Balancer e o servidor de API. Você também pode habilitar todas as comunicações entre o Azure Load Balancer e o CIDR da Sub-rede do Servidor de API. |
Conteúdo relacionado
- Criar um cluster automático do AKS
- Para as melhores práticas associadas, consulte Melhores práticas conectividade e segurança da rede no AKS.
- Para obter diretrizes sobre como configurar link privado com a Integração de VNet do Servidor de API, consulte Link privado com a Integração de VNet do Servidor de API.