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 descreve as opções de como se conectar ao servidor de API do cluster do AKS (Serviço de Kubernetes do Azure). Em um cluster padrão do AKS, o servidor de API é exposto pela Internet. Em um cluster privado do AKS, você só pode se conectar à Internet a partir de um dispositivo que tenha acesso à rede ao cluster privado.
Planejar o acesso ao servidor de API é uma atividade de zero dia e como você acessa o servidor depende do cenário de implantação.
Acesso ao servidor da API do AKS
Para gerenciar um cluster do AKS, você interage com seu servidor de API. É essencial limitar o acesso do servidor de API somente aos usuários necessários. Você pode fornecer acesso granular integrando o cluster do AKS à ID do Microsoft Entra. Os administradores podem gerenciar o acesso usando o RBAC (controle de acesso baseado em função). Eles também podem colocar usuários e identidades em grupos do Microsoft Entra e atribuir funções e permissões apropriadas. A autenticação do Microsoft Entra está habilitada em clusters do AKS por meio do OpenID Connect. Para obter mais informações, consulte os seguintes recursos:
Habilitar a autenticação de identidade gerenciada do Azure para clusters do Kubernetes com kubelogin
Nota
Você pode aprimorar a segurança do cluster do AKS permitindo que apenas intervalos de endereços IP autorizados para acessar o servidor de API.
de Proteção contra DDoS do Azure, combinado com as práticas recomendadas de design do aplicativo, fornece recursos de mitigação aprimorados contra ataques de DDoS (negação de serviço distribuído). Habilite a Proteção contra DDoS em cada rede virtual de perímetro.
Acessar um cluster do AKS pela Internet
Quando você cria um cluster não privado que resolve para o FQDN (nome de domínio totalmente qualificado) do servidor de API, ele recebe um endereço IP público por padrão. Você pode se conectar ao cluster usando o portal do Azure ou um shell, como a CLI do Azure, o PowerShell ou o prompt de comando.
Nota
Você pode usar o cliente de linha de comando do Kubernetes kubectl para se conectar a um cluster pela Internet.
Cloud Shell
do Azure Cloud Shell é um shell integrado ao portal do Azure. Você pode gerenciar e se conectar aos recursos do Azure por meio do Cloud Shell, como você pode por meio do PowerShell ou da CLI do Azure.
Acessar um cluster privado do AKS
Há várias maneiras de se conectar a um cluster privado do AKS. Planejar o acesso é uma atividade do dia zero que se baseia nas necessidades e limitações do seu cenário. Você pode se conectar ao cluster privado usando os seguintes componentes e serviços:
uma caixa de salto implantada em uma sub-rede como sua estação de trabalho de operações: essa configuração pode ser de VMs (máquinas virtuais) autônomas e persistentes em um conjunto de disponibilidade ou conjuntos de dimensionamento de máquinas virtuais do Azure.
Instâncias de Contêiner do Azure e um cliente compatível com OpenSSH: implantar uma instância de contêiner que executa um servidor SSH (Secure Shell) e, em seguida, usar seu cliente compatível com OpenSSH para acessar o contêiner. Esse contêiner serve como uma caixa de salto dentro de sua rede para alcançar seu cluster privado.
ado Azure Bastion: usar o Azure Bastion para estabelecer um acesso remoto mais seguro e baseado em navegador para suas VMs ou jump boxes dentro de sua Rede Virtual do Azure. Esse acesso permite que você se conecte com mais segurança a pontos de extremidade privados, como o servidor de API do AKS.
vpn (rede virtual privada): Criar uma conexão VPN segura que estenda sua rede local ou remota para sua rede virtual. Essa conexão permite que você acesse seu cluster privado como se você fosse conectado localmente.
do Azure ExpressRoute: usar o ExpressRoute para criar uma conexão privada dedicada entre sua rede local e o Azure. Essa conexão ajuda a garantir um acesso mais seguro e confiável ao cluster privado sem usar a Internet pública.
CLI do Azure comando az aks invocar comando: executar comandos diretamente no cluster do AKS usando a CLI do Azure com o comando
az aks command invoke. Esse comando interage com o cluster sem expor mais pontos de extremidade de rede.instância do Cloud Shell implantada em uma sub-rede conectada ao servidor de API do cluster: implantar o Cloud Shell em uma sub-rede vinculada ao servidor de API do cluster. Essa abordagem fornece um ambiente de linha de comando gerenciado e mais seguro para gerenciar seu cluster privado.
Área de Trabalho Virtual do Azure: Acessar a Área de Trabalho Virtual do Azure para usar áreas de trabalho do Windows ou Linux como jump boxes para gerenciar com mais segurança seu cluster privado de praticamente qualquer lugar.
Nota
Todo o tráfego para o servidor de API é transmitido pelo Protocolo de Controle de Transmissão para a porta 443 via HTTPS. Os NSGs (grupos de segurança de rede) ou outros firewalls de rede devem permitir o tráfego da origem para o FQDN do servidor de API na porta 443 para HTTPS. Os subsídios de tráfego devem ser restritos especificamente ao FQDN para o servidor de API do cluster.
Azure Bastion
O Azure Bastion é uma plataforma como uma oferta de serviço que permite conexões RDP (Protocolo de Área de Trabalho Remota) ou SSH seguras para uma VM em sua rede virtual que não exige um endereço IP público na VM. Quando você se conectar a um cluster privado do AKS, use o Azure Bastion para acessar um jump box na rede virtual do hub.
Como alternativa, você pode usar os Serviços de SSH, RDP e Área de Trabalho Remota para controlar remotamente as jump boxes. O cluster do AKS reside em uma rede spoke, que o separa da caixa de salto. O emparelhamento de rede virtual conecta as redes hub e spoke. O jump box pode resolver o FQDN do servidor de API do AKS usando o Ponto de Extremidade Privado do Azure, uma zona DNS privada e um registro DNS A. Essa configuração ajuda a garantir que o FQDN do servidor de API só seja resolvido dentro da rede virtual. Essa configuração fornece uma conexão confiável com o cluster privado do AKS.
Nota
Para o acesso contínuo ao cluster privado do AKS, a disponibilidade e a redundância de suas jump boxes são cruciais. Para ajudar a garantir essa confiabilidade, coloque suas jump boxes em conjuntos de disponibilidade e use conjuntos de dimensionamento de máquinas virtuais que têm poucas instâncias de VM. Para obter mais informações, consulte os seguintes recursos:
- visão geral dos conjuntos de disponibilidade
- O que são Conjuntos de dimensionamento de máquinas virtuais?
Baixe um arquivo do Visio dessa arquitetura.
Fluxo
Um usuário tenta se conectar a um jump box usando o Azure Bastion e um navegador HTML5 com criptografia de Segurança de Camada de Transporte.
O usuário escolhe no portal se deseja usar RDP ou SSH para se conectar à jump box.
O usuário entra no jump box por meio do Azure Bastion. A tentativa de se conectar ao cluster privado do AKS é feita a partir dessa caixa de salto. A rede virtual do hub tem um link de rede virtual para a zona DNS privada do AKS para resolver o FQDN do cluster privado.
A rede virtual do hub e a rede virtual spoke se comunicam entre si usando o emparelhamento de rede virtual.
Para alcançar o cluster privado do AKS, o tráfego entra no backbone do Azure. Um ponto de extremidade privado estabelece uma conexão privada e isolada com o cluster privado do AKS.
O tráfego atinge o servidor de API do cluster do AKS privado. Em seguida, o usuário pode gerenciar pods, nós e aplicativos.
Nota
O FQDN do cluster privado pode ser resolvido de fora da sua rede virtual se você não desabilitar diretamente o FQDN público em um cluster existente.
Solucionar problemas de conexão
Se você não puder se conectar ao cluster privado:
Verifique o emparelhamento de rede virtual. Esse mecanismo fornece conectividade rede a rede entre duas redes virtuais. Para que o tráfego flua entre essas duas redes, você precisa estabelecer o emparelhamento de rede virtual entre elas. Quando você estabelece um emparelhamento de rede virtual, uma rota é colocada na tabela de rotas do sistema da rede virtual. Essa rota fornece um caminho para alcançar o espaço de endereço de destino. Para obter mais informações sobre como solucionar problemas de emparelhamentos de rede virtual, consulte Criar, alterar ou excluir um emparelhamento de rede virtual.
Nota
Você não precisará de um emparelhamento de rede virtual se a caixa de salto estiver na mesma rede virtual que o ponto de extremidade privado e o cluster privado do AKS.
Verifique o link da rede virtual para a zona DNS privada. Os links de rede virtual fornecem uma maneira para as VMs que estão dentro de redes virtuais se conectarem a uma zona DNS privada e resolverem os registros DNS dentro da zona. Se você não conseguir se conectar ao cluster privado do AKS ou não conseguir resolver o FQDN do cluster privado, verifique se sua rede virtual tem um link de rede virtual para sua zona DNS privada. O nome da zona DNS privada deve ter o formato
privatelink.<region>.azmk8s.io.Para obter mais informações sobre como solucionar problemas de links de rede virtual, consulte os seguintes recursos:
Nota
Quando você cria um cluster privado do AKS, é criada uma zona DNS privada que tem um link de rede virtual para a rede virtual que hospeda o cluster privado do AKS.
Melhorar a segurança
Para ajudar a proteger cargas de trabalho do AKS e suas jump boxes, use o acesso just-in-time (JIT) e uma PAW (Estação de Trabalho de Acesso Privilegiado). O acesso JIT faz parte do Microsoft Defender para Nuvem. Ele pode ajudar a minimizar a superfície de ataque potencial e as vulnerabilidades bloqueando o tráfego de entrada para o jump box e permitindo o acesso somente por um horário especificado quando necessário. Depois que o tempo expirar, o acesso será revogado automaticamente. Para obter mais informações, consulte de acesso de computador just-in-time .
PAWs são dispositivos protegidos que fornecem alta segurança para operadores bloqueando vetores de ataque comuns, como email e navegação na Web. Para obter mais informações, consulte Dispositivos seguros como parte dode história de acesso privilegiado.
VPN
Uma conexão VPN fornece conectividade híbrida do seu ambiente local para o Azure. Essa conectividade permite o acesso a um cluster privado do AKS. O servidor de API do cluster privado não pode ser acessado fora de suas redes virtuais. Com uma VPN, você pode se conectar à sua rede virtual no Azure por meio de um túnel criptografado, acessar o jump box e, em seguida, conectar-se ao servidor de API do cluster privado.
Baixe um arquivo do Visio dessa arquitetura.
Fluxo
Um usuário inicia o tráfego RDP ou SSH para a caixa de salto de uma estação de trabalho local.
O tráfego de jump box deixa os roteadores de borda do cliente e o dispositivo vpn. O tráfego usa um túnel de Segurança de Protocolo de Internet criptografado para atravessar a Internet.
O tráfego de jump box atinge o gateway de rede virtual no Azure, que é o ponto de entrada e saída da infraestrutura de rede virtual do Azure.
Depois que o tráfego passar pelo gateway de rede virtual, ele atingirá a caixa de salto. A tentativa de se conectar ao cluster privado do AKS é feita a partir da caixa de salto. A rede virtual do hub tem um link de rede virtual para a zona DNS privada do AKS para resolver o FQDN do cluster privado.
A rede virtual do hub e a rede virtual spoke se comunicam entre si usando um emparelhamento de rede virtual.
Para alcançar o cluster privado do AKS, o tráfego entra no backbone do Azure. Um ponto de extremidade privado estabelece uma conexão privada e isolada com o cluster privado do AKS.
O tráfego atinge o servidor de API do cluster do AKS privado. Em seguida, o usuário pode gerenciar pods, nós e aplicativos.
ExpressRoute
O ExpressRoute fornece conectividade ao cluster privado do AKS de um ambiente local. O ExpressRoute usa o Border Gateway Protocol para trocar rotas entre sua rede local e o Azure. Essa conexão cria um caminho seguro entre a infraestrutura como recursos de serviço e estações de trabalho locais. O ExpressRoute fornece uma conexão isolada dedicada que tem largura de banda e latência consistentes, o que a torna ideal para ambientes corporativos.
Baixe um arquivo do Visio dessa arquitetura.
Fluxo
Um usuário inicia o tráfego RDP ou SSH para a caixa de salto de uma estação de trabalho local.
O tráfego de jump box deixa os roteadores de borda do cliente e viaja em uma conexão de fibra para o local do meet-me onde reside o circuito do ExpressRoute. O tráfego atinge os dispositivos MSEE (Microsoft Enterprise Edge) lá. Em seguida, ele entra na malha do Azure.
O tráfego de jump box atinge o gateway do ExpressRoute, que é o ponto de entrada e saída da infraestrutura de rede virtual do Azure.
O tráfego atinge a caixa de salto. A tentativa de se conectar ao cluster privado do AKS é feita a partir da caixa de salto. A rede virtual do hub tem um link de rede virtual para a zona DNS privada do AKS para resolver o FQDN do cluster privado.
A rede virtual do hub e a rede virtual spoke se comunicam entre si usando um emparelhamento de rede virtual.
Para alcançar o cluster privado do AKS, o tráfego entra no backbone do Azure. Um ponto de extremidade privado estabelece uma conexão privada e isolada com o cluster privado do AKS.
O tráfego atinge o servidor de API do cluster do AKS privado. Em seguida, o usuário pode gerenciar pods, nós e aplicativos.
Nota
O ExpressRoute requer um provedor de conectividade que não seja da Microsoft para fornecer uma conexão de emparelhamento com os roteadores MSEE. tráfego do ExpressRoute não é criptografado.
Executar invocação de comando aks
Com um cluster privado do AKS, você pode se conectar a partir de uma VM que tenha acesso ao servidor de API. Use o comando aks command invoke da CLI do Azure para executar comandos como kubectl ou helm remotamente por meio da API do Azure. Essa abordagem cria um pod transitório no cluster, que dura apenas durante o comando. O comando aks command invoke serve como um método de conexão alternativo se você não tiver uma VPN, ExpressRoute ou rede virtual emparelhada. Verifique se o cluster e o pool de nós têm recursos suficientes para criar o pod transitório.
Para obter mais informações, consulte Usar invocação de comando para acessar um cluster do AKS privado.
Conectar o Cloud Shell a uma sub-rede
Ao implantar o Cloud Shell em uma rede virtual que você controla, você pode interagir com recursos dentro dessa rede. Implantar o Cloud Shell em uma sub-rede que você gerencia habilita a conectividade com o servidor de API de um cluster privado do AKS. Essa implantação permite que você se conecte ao cluster privado. Para obter mais informações, consulte Implantar o Cloud Shell em umde rede virtual do Azure.
Usar o SSH e o Visual Studio Code para teste
O SSH gerencia e acessa arquivos com segurança em um host remoto usando pares de chave público-privado. No computador local, você pode usar o SSH com a extensão SSH do Visual Studio Code Remote – Remote para se conectar a um jump box em sua rede virtual. O túnel SSH criptografado termina no endereço IP público da caixa de salto, o que facilita a modificação dos arquivos de manifesto do Kubernetes.
Para saber como se conectar ao jump box por meio do SSH, consulte Desenvolvimento remoto porSSH.
Se você não conseguir se conectar à VM por SSH para gerenciar seu cluster privado:
Verifique a regra NSG de entrada para a sub-rede da VM. A regra NSG padrão bloqueia todo o tráfego de entrada de fora do Azure, portanto, crie uma nova regra que permita o tráfego SSH do endereço IP público do computador local.
Verifique o local do certificado e verifique o posicionamento correto dos certificados. Verifique se a chave privada está no diretório
C:\Users\User\.ssh\id_rsaem seu computador local e se a chave pública está localizada no arquivo~/.ssh/id_rsa.pubna VM no Azure.
Nota
Recomendamos que você:
Evite usar um endereço IP público para se conectar aos recursos em ambientes de produção. Use apenas endereços IP públicos em ambientes de desenvolvimento ou teste. Nesses cenários, crie uma regra NSG de entrada para permitir o tráfego do endereço IP público do computador local. Para obter mais informações sobre regras NSG, consulte Criar, alterar ou excluir umNSG.
Evite usar o SSH para se conectar diretamente a nós ou contêineres do AKS. Em vez disso, use uma solução de gerenciamento externo dedicada. Essa prática é especialmente importante quando você usa o comando
aks command invoke, que cria um pod transitório dentro do cluster para acesso com proxie.
Conclusão
Você pode acessar o servidor de API do cluster do AKS pela Internet se o FQDN público estiver habilitado.
O Cloud Shell é um shell de linha de comando interno no portal do Azure que você pode usar para se conectar a um cluster do AKS.
Para obter acesso mais seguro, use o Azure Bastion e um ponto de extremidade privado.
As VPNs e o ExpressRoute fornecem conectividade híbrida ao cluster do AKS privado.
Se nenhuma solução de conectividade externa estiver disponível, você poderá usar
aks command invokeremotamente.Você pode implantar o Cloud Shell diretamente em uma rede virtual que você gerencia para acessar o cluster privado.
Você pode usar o Visual Studio Code com SSH em um jump box para criptografar a conexão e simplificar a modificação do arquivo de manifesto. No entanto, essa abordagem expõe um endereço IP público em seu ambiente.
Contribuintes
A Microsoft mantém este artigo. Os colaboradores a seguir escreveram este artigo.
Autores principais:
- Ayobami Ayodeji | Gerenciador de Programas 2
- Ariel Ramirez | Consultor Sênior
- Bahram Rushenas | Arquiteto de Incubação
Outros colaboradores:
Para ver perfis não públicos do LinkedIn, entre no LinkedIn.
Próximas etapas
- O que é o Azure Bastion?
- Introdução ao OpenSSH
- O que é um ponto de extremidade privado?
- O que é o ExpressRoute?
- O que é o Gateway de VPN do Azure?