Ligar um cluster de Azure Kubernetes Service ao Azure Arc

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

Quando um cluster de Azure Kubernetes Service (AKS) é anexado ao Azure Arc, obtém uma representação Resource Manager do Azure. Os clusters estão anexados a subscrições padrão do Azure, estão localizados num grupo de recursos e podem receber etiquetas tal como qualquer outro recurso do Azure. Além disso, a representação do Kubernetes permite-lhe expandir as seguintes capacidades para o cluster do Kubernetes:

  • Serviços de gestão: configurações (GitOps), Azure Monitor para contentores, Azure Policy (Controlador de Chamadas).
  • Serviços de dados: SQL Managed Instance, PostgreSQL Hyperscale.
  • Serviços aplicacionais: Serviço de Aplicações, Funções, Event Grid, Logic Apps Gestão de API.

Para ligar um cluster do Kubernetes ao Azure, o administrador do cluster tem de implementar agentes. Estes agentes são executados num espaço de nomes do Kubernetes com o nome azure-arc e são implementações padrão do Kubernetes. Os agentes são responsáveis pela conectividade ao Azure, pela recolha de registos e métricas do Azure Arc e pela ativação dos cenários mencionados anteriormente no cluster.

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

Os passos seguintes descrevem como ligar clusters do AKS ao Azure Arc no AKS ativado pelo Arc. Pode ignorar estes passos se já tiver ligado o cluster do Kubernetes ao Azure Arc com Windows Admin Center.

Antes de começar

Verifique se tem os seguintes requisitos:

  • Um cluster do AKS com, pelo menos, um nó de trabalho do Linux em execução.
  • Instale o módulo AksHci do PowerShell.
  • O seguinte nível de acesso na sua subscrição do Azure:
    • Uma conta de utilizador com a função de Proprietário incorporada. Pode verificar o nível de acesso ao navegar para a sua subscrição, selecionar "Controlo de acesso (IAM)" no lado esquerdo do portal do Azure e, em seguida, clicar em Ver o meu acesso.
    • Um principal de serviço com a função proprietário incorporada.
  • Execute os comandos neste artigo numa janela administrativa do PowerShell.
  • Certifique-se de que cumpriu os requisitos de rede do AKS.

Passo 1: iniciar sessão no Azure

Para iniciar sessão no Azure, execute o comando Connect-AzAccount do PowerShell:

Connect-AzAccount $tenantId

Se quiser mudar para uma subscrição diferente, execute o comando Set-AzContext do 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 do AKS na sua subscrição. O registo é um processo assíncrono e tem de ocorrer uma vez por subscrição. O registo pode demorar aproximadamente 10 minutos:

Register-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Register-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Register-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Pode verificar se está registado com os seguintes comandos:

Get-AzResourceProvider -ProviderNamespace Microsoft.Kubernetes
Get-AzResourceProvider -ProviderNamespace Microsoft.KubernetesConfiguration
Get-AzResourceProvider -ProviderNamespace Microsoft.ExtendedLocation

Passo 3: ligar ao Azure Arc com o módulo Aks-Hci PowerShell

Ligue o cluster do AKS ao Kubernetes com o comando Do PowerShell Enable-AksHciArcConnection . Este passo implementa agentes do Azure Arc para Kubernetes no azure-arc espaço de nomes:

Enable-AksHciArcConnection -name $clusterName 

Ligar o cluster do AKS ao Azure Arc com um principal de serviço

Se não tiver acesso a uma subscrição na qual é "Proprietário", pode ligar o cluster do AKS ao Azure Arc com um principal de serviço.

O primeiro comando pede as credenciais do principal de serviço e armazena-as $Credential na variável . Quando lhe for pedido, introduza o ID da aplicação para o nome de utilizador e, em seguida, utilize o segredo do principal de serviço como palavra-passe. Certifique-se de que obtém estes valores junto do administrador da subscrição. O segundo comando liga o cluster ao Azure Arc com as credenciais do principal 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

Confirme que o principal de serviço utilizado no comando acima tem a função "Proprietário" atribuída e que tem âmbito sobre o ID de subscrição utilizado no comando. Para obter mais informações sobre principais de serviço, veja Create um principal de serviço com Azure PowerShell.

Ligar o cluster do AKS ao Azure Arc e ativar localizações personalizadas

Se quiser ativar localizações personalizadas no cluster juntamente com o Azure Arc, execute o seguinte comando para obter o ID de objeto da aplicação de localização personalizada e, em seguida, ligue-se ao Azure Arc com um principal 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 ligado

Pode ver o recurso do cluster do Kubernetes no portal do Azure. Depois de abrir o portal no browser, navegue para o grupo de recursos e o recurso do AKS baseado no nome do recurso e nas entradas de nome do grupo de recursos utilizadas no comando enable-akshciarcconnection do PowerShell.

Nota

Depois de ligar o cluster, pode demorar cerca de cinco a dez minutos até que os metadados do cluster (versão do cluster, versão do agente, número de nós) possam aparecer na página de descrição geral do recurso do AKS no portal do Azure.

Agentes do Azure Arc para Kubernetes

O AKS implementa alguns operadores no azure-arc espaço de nomes. Pode ver estas implementações e pods com kubectl, conforme mostrado no exemplo seguinte:

kubectl -n azure-arc get deployments,pods

O AKS consiste em alguns agentes (operadores) que são executados no cluster implementado no azure-arc espaço de nomes. Para obter mais informações sobre estes agentes, veja esta descrição geral.

Desligar o cluster do AKS do Azure Arc

Se quiser desligar o cluster do AKS, execute o comando Disable-AksHciArcConnection do PowerShell. Antes de executar o comando, certifique-se de que inicia sessão no Azure:

Disable-AksHciArcConnection -Name $clusterName

Passos seguintes