Partilhar via


Conectar um cluster do Serviço Kubernetes do Azure ao Azure Arc

Aplica-se a: AKS no Azure Stack HCI 22H2, AKS no Windows Server

Quando um cluster do Serviço Kubernetes do Azure (AKS) é anexado ao Azure Arc, ele obtém uma representação do Azure Resource Manager. Os clusters são anexados a assinaturas padrão do Azure, estão localizados em um grupo de recursos e podem receber marcas como qualquer outro recurso do Azure. Além disso, a representação do Kubernetes permite que você estenda os seguintes recursos para o cluster do Kubernetes:

  • Serviços de gerenciamento: configurações (GitOps), Azure Monitor para contêineres, Política do Azure (Gatekeeper).
  • Serviços de dados: SQL Managed Instance, PostgreSQL Hyperscale.
  • Serviços de aplicativos: Serviço de Aplicativo, Funções, Grade de Eventos, Aplicativos Lógicos, Gerenciamento de API.

Para conectar um cluster Kubernetes ao Azure, o administrador do cluster deve 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, coletando logs e métricas do Azure Arc e habilitando os cenários mencionados anteriormente no cluster.

O AKS suporta SSL padrão da indústria para proteger dados em trânsito. Além disso, os dados são armazenados criptografados em repouso em um banco de dados do Azure Cosmos DB para garantir a confidencialidade dos dados.

As etapas a seguir descrevem como conectar clusters AKS ao Azure Arc no AKS habilitado pelo Arc. Você pode ignorar essas etapas se já tiver conectado seu cluster do Kubernetes ao Azure Arc usando o Windows Admin Center.

Antes de começar

Verifique se você tem os seguintes requisitos:

  • Um cluster AKS com pelo menos um nó de trabalho Linux em funcionamento.
  • Instale o módulo AksHci PowerShell.
  • O seguinte nível de acesso na sua subscrição do Azure:
    • Uma conta de usuário com a função Proprietário interna. Você pode verificar seu 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 incorporada.
  • Execute os comandos neste artigo em uma janela administrativa do PowerShell.
  • Certifique-se de atender aos requisitos de rede do AKS.

Etapa 1: Entrar no Azure

Para entrar no Azure, execute o comando Connect-AzAccount PowerShell:

Connect-AzAccount $tenantId

Se você quiser alternar para uma assinatura diferente, execute o comando Set-AzContext PowerShell:

Set-AzContext -Subscription $subscriptionId

Passo 2: Registar os dois fornecedores para o AKS

Pode ignorar este passo se já tiver registado os dois fornecedores para o AKS na sua subscrição. O registro é um processo assíncrono e precisa ocorrer uma vez por assinatura. O registo pode demorar 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 seu cluster AKS ao Kubernetes usando o comando Enable-AksHciArcConnection PowerShell. Esta etapa implanta agentes do Azure Arc para Kubernetes no azure-arc namespace:

Enable-AksHciArcConnection -name $clusterName 

Conecte seu cluster AKS ao Azure Arc usando uma entidade de serviço

Se você não tiver acesso a uma assinatura na qual seja proprietário, poderá conectar seu cluster AKS ao Azure Arc usando uma entidade de serviço.

O primeiro comando solicita credenciais da entidade de serviço e as armazena $Credential na variável. Quando solicitado, insira o ID do aplicativo para o nome de usuário e use o segredo da entidade de serviço como senha. Certifique-se de obter esses valores do administrador da sua assinatura. O segundo comando conecta seu 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 neste comando tem a função Proprietário atribuída a ela e se ela tem escopo sobre a ID de assinatura usada no comando. Para obter mais informações sobre entidades de serviço, consulte Criar uma entidade de serviço com o Azure PowerShell.

Conecte seu cluster AKS ao Azure Arc e habilite locais personalizados

Se você quiser habilitar locais personalizados em seu cluster junto com o Azure Arc, execute o seguinte comando para obter a ID do objeto do aplicativo de local personalizado e, em seguida, conecte-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 seu recurso de cluster do Kubernetes no portal do Azure. Depois de abrir o portal em seu navegador, navegue até o grupo de recursos e o recurso AKS que se baseia no nome do recurso e nas entradas de nome do grupo de recursos usadas no comando enable-akshciarcconnection PowerShell.

Nota

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) apareçam na página de visão geral do recurso 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 com kubectlo , conforme mostrado no exemplo a seguir:

kubectl -n azure-arc get deployments,pods

O AKS consiste em alguns agentes (operadores) que são executados em seu cluster implantado no azure-arc namespace. Para obter mais informações sobre esses agentes, consulte esta visão geral.

Desconecte seu cluster AKS do Azure Arc

Se quiser desconectar o cluster do AKS, execute o comando Disable-AksHciArcConnection PowerShell. Certifique-se de entrar no Azure antes de executar o comando:

Disable-AksHciArcConnection -Name $clusterName

Próximos passos