Conectar um cluster Serviço de Kubernetes do Azure ao Azure Arc no AKS híbrido
Aplica-se a: AKS no Azure Stack HCI, AKS no Windows Server
Quando um cluster do AKS (Serviço de Kubernetes do Azure) estiver anexado ao Azure Arc, ele obterá uma representação de Resource Manager do Azure. Os clusters são anexados a assinaturas do Azure padrão, estão localizados em um grupo de recursos e podem receber marcas, assim como qualquer outro recurso do Azure. Além disso, a representação do Kubernetes permite estender os seguintes recursos para o cluster do Kubernetes:
- Serviços de gerenciamento – Configurações (GitOps), Azure Monitor para contêineres, Azure Policy (Gatekeeper)
- Serviços de Dados – Instância Gerenciada de SQL, Hiperescala do PostgreSQL
- Serviços de aplicativo – Serviço de Aplicativo, Funções, Grade de Eventos, Aplicativos Lógicos Gerenciamento de API
Para conectar um cluster do Kubernetes ao Azure, o administrador do cluster precisa implantar agentes. Esses agentes são executados em um namespace do Kubernetes chamado azure-arc
e são implantações padrão do Kubernetes. Os agentes são responsáveis pela conectividade com o Azure, pela coleta de logs e métricas do Azure Arc e pela habilitação dos cenários mencionados acima no cluster.
O AKS dá suporte ao SSL padrão do setor para proteger dados em trânsito. Além disso, os dados são armazenados criptografados quando em repouso em um banco de dados Azure Cosmos DB para garantir a confidencialidade dos dados.
As etapas a seguir descrevem como conectar clusters do AKS ao Azure Arc no AKS híbrido. Você poderá ignorar essas etapas se já tiver conectado o cluster do Kubernetes ao Azure Arc por meio de Windows Admin Center.
Antes de começar
Verifique se você tem os seguintes requisitos:
- Um cluster do AKS com pelo menos um nó de trabalho do Linux que está em execução.
- Instalado o módulo Do PowerShell do AksHci.
- O seguinte nível de acesso em sua assinatura do Azure:
- Uma conta de usuário com a função de Proprietário interna. Você pode verificar o nível de acesso navegando até sua assinatura, selecionando "Controle de acesso (IAM)" no lado esquerdo do portal do Azure e clicando em "Exibir meu acesso".
- Uma entidade de serviço com a função de Proprietário interna
- Execute os comandos neste documento em uma janela administrativa do PowerShell.
- Verifique se você atendeu aos requisitos de rede do AKS.
Etapa 1: Fazer logon no Azure
Para fazer logon no Azure, execute o comando Connect-AzAccount do PowerShell:
Connect-AzAccount $tenantId
Se você quiser alternar para uma assinatura diferente, execute o comando Set-AzContext do PowerShell.
Set-AzContext -Subscription $subscriptionId
Etapa 2: Registrar os dois provedores para o AKS
Você pode ignorar esta etapa se já tiver registrado os dois provedores para Serviço de Kubernetes do Azure em sua assinatura. O registro é um processo assíncrono e precisa ocorrer uma vez por assinatura. Ele pode levar aproximadamente 10 minutos.
Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Você pode verificar se está registrado com os seguintes comandos:
Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation
Etapa 3: Conectar-se ao Azure Arc usando o módulo Aks-Hci PowerShell
Conecte o cluster do AKS ao Kubernetes usando o comando Enable-AksHciArcConnection do PowerShell. Esta etapa implanta agentes do Azure Arc para Kubernetes no azure-arc
namespace .
Enable-AksHciArcConnection -name $clusterName
Conectar o cluster do AKS ao Azure Arc usando uma entidade de serviço
Se você não tiver acesso a uma assinatura na qual é um "Proprietário", poderá conectar o cluster do AKS ao Azure Arc usando uma entidade de serviço.
O primeiro comando solicita credenciais da entidade de serviço e as armazena na credential
variável . Insira a ID do aplicativo para o nome de usuário e, em seguida, use o segredo da entidade de serviço como a senha quando solicitado. Certifique-se de obter esses valores de seu administrador de assinatura. O segundo comando conecta o cluster ao Azure Arc usando as credenciais da entidade de serviço armazenadas na credential
variável .
$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location
Verifique se a entidade de serviço usada no comando acima tem a função "Proprietário" atribuída a ela e se ela tem escopo sobre a ID da assinatura usada no comando. Para obter mais informações sobre entidades de serviço, consulte Criar uma entidade de serviço com Azure PowerShell.
Conectar o cluster do AKS ao Azure Arc e habilitar locais personalizados
Se você quiser habilitar locais personalizados em seu cluster junto com o Azure Arc, execute o comando a seguir para obter a ID de objeto do aplicativo de localização personalizado e conectar-se ao Azure Arc usando uma entidade de serviço –
$objectID = (Get-AzADServicePrincipal -ApplicationId "bc313c14-388c-4e7d-a58e-70017303ee3b").Id
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location -customLocationsOid $objectID
Verificar o cluster conectado
Você pode exibir o recurso de cluster do Kubernetes no portal do Azure. Depois de abrir o portal no navegador, navegue até o grupo de recursos e o recurso do AKS com base no nome do recurso e nas entradas de nome do grupo de recursos usadas no comando do PowerShell enable-akshciarcconnection .
Observação
Depois de conectar o cluster, pode levar no máximo cinco a dez minutos para que os metadados do cluster (versão do cluster, versão do agente, número de nós) sejam exibidos na página de visão geral do recurso do AKS no portal do Azure.
Agentes do Azure Arc para Kubernetes
O AKS implanta alguns operadores no azure-arc
namespace . Você pode exibir essas implantações e pods abaixo kubectl
.
kubectl -n azure-arc get deployments,pods
O AKS consiste em alguns agentes (operadores) que são executados no cluster implantado no azure-arc
namespace . Mais informações sobre esses agentes podem ser encontradas aqui.
Desconectar o cluster do AKS do Azure Arc
Se você quiser desconectar o cluster do AKS, execute o comando Disable-AksHciArcConnection do PowerShell. Faça logon no Azure antes de executar o comando.
Disable-AksHciArcConnection -Name $clusterName