Connettere un cluster servizio Azure Kubernetes ad Azure Arc

Si applica a: servizio Azure Kubernetes in Azure Stack HCI 22H2, servizio Azure Kubernetes in Windows Server

Quando un cluster servizio Azure Kubernetes (AKS) è collegato ad Azure Arc, ottiene una rappresentazione di Azure Resource Manager. I cluster sono collegati alle sottoscrizioni standard di Azure, si trovano in un gruppo di risorse e possono ricevere tag esattamente come qualsiasi altra risorsa di Azure. La rappresentazione di Kubernetes consente anche di estendere le funzionalità seguenti nel cluster Kubernetes:

  • Servizi di gestione: configurazioni (GitOps), Monitoraggio di Azure per contenitori, Criteri di Azure (Gatekeeper).
  • Servizi dati: Istanza gestita di SQL, PostgreSQL Hyperscale.
  • Servizi dell'applicazione: servizio app, Funzioni, Griglia di eventi, App per la logica, Gestione API.

Per connettere un cluster Kubernetes ad Azure, l'amministratore del cluster deve distribuire gli agenti. Questi agenti vengono eseguiti in uno spazio dei nomi Kubernetes denominato azure-arc e sono distribuzioni Kubernetes standard. Gli agenti sono responsabili della connettività ad Azure, della raccolta di log e delle metriche di Azure Arc e dell'abilitazione degli scenari indicati in precedenza nel cluster.

Il servizio Azure Kubernetes supporta SSL standard del settore per proteggere i dati in transito. Inoltre, i dati vengono archiviati crittografati quando sono inattivi in un database di Azure Cosmos DB per garantirne la riservatezza.

La procedura seguente descrive come connettere i cluster del servizio Azure Kubernetes ad Azure Arc nel servizio Azure Kubernetes abilitato da Arc. È possibile ignorare questi passaggi se il cluster Kubernetes è già stato connesso ad Azure Arc usando Windows Admin Center.

Prima di iniziare

Verificare di avere i requisiti seguenti:

  • Un cluster del servizio Azure Kubernetes con almeno un nodo di lavoro Linux operativo.
  • Installare il modulo AksHci PowerShell.
  • Livello di accesso seguente nella sottoscrizione di Azure:
    • Un account utente con il ruolo Proprietario predefinito. È possibile controllare il livello di accesso passando alla sottoscrizione, selezionando "Controllo di accesso (IAM)" sul lato sinistro del portale di Azure e quindi facendo clic su Visualizza l'accesso personale.
    • Entità servizio con il ruolo Proprietario predefinito.
  • Eseguire i comandi in questo articolo in una finestra amministrativa di PowerShell.
  • Assicurarsi di aver soddisfatto i requisiti di rete del servizio Azure Kubernetes.

Passaggio 1: Accedere ad Azure

Per accedere ad Azure, eseguire il comando PowerShell Connect-AzAccount :

Connect-AzAccount $tenantId

Se si vuole passare a una sottoscrizione diversa, eseguire il comando Set-AzContext di PowerShell:

Set-AzContext -Subscription $subscriptionId

Passaggio 2: Registrare i due provider per il servizio Azure Kubernetes

È possibile ignorare questo passaggio se sono già stati registrati i due provider per il servizio Azure Kubernetes nella sottoscrizione. La registrazione è un processo asincrono e deve essere eseguita una volta per ogni sottoscrizione. La registrazione può richiedere circa 10 minuti:

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

È possibile verificare se si è registrati con i comandi seguenti:

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

Passaggio 3: Connettersi ad Azure Arc usando il modulo Aks-Hci PowerShell

Connettere il cluster del servizio Azure Kubernetes a Kubernetes usando il comando Enable-AksHciArcConnection di PowerShell. Questo passaggio distribuisce gli agenti di Azure Arc per Kubernetes nello azure-arc spazio dei nomi:

Enable-AksHciArcConnection -name $clusterName 

Connettere il cluster del servizio Azure Kubernetes ad Azure Arc usando un'entità servizio

Se non si ha accesso a una sottoscrizione in cui si è "Proprietario", è possibile connettere il cluster del servizio Azure Kubernetes ad Azure Arc usando un'entità servizio.

Il primo comando richiede le credenziali dell'entità servizio e le archivia nella credential variabile . Immettere l'ID applicazione per il nome utente e quindi usare il segreto dell'entità servizio come password quando richiesto. Assicurarsi di ottenere questi valori dall'amministratore della sottoscrizione. Il secondo comando connette il cluster ad Azure Arc usando le credenziali dell'entità servizio archiviate nella credential variabile :

$Credential = Get-Credential
Enable-AksHciArcConnection -name $clusterName -subscriptionId $subscriptionId -resourceGroup $resourceGroup -credential $Credential -tenantId $tenantId -location $location

Assicurarsi che all'entità servizio usata nel comando precedente sia assegnato il ruolo "Proprietario" e che abbia ambito sull'ID sottoscrizione usato nel comando. Per altre informazioni sulle entità servizio, vedere Creare un'entità servizio con Azure PowerShell.

Connettere il cluster del servizio Azure Kubernetes ad Azure Arc e abilitare percorsi personalizzati

Se si vogliono abilitare percorsi personalizzati nel cluster insieme ad Azure Arc, eseguire il comando seguente per ottenere l'ID oggetto dell'applicazione percorso personalizzata e quindi connettersi ad Azure Arc usando un'entità servizio:

$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

Verificare il cluster connesso

È possibile visualizzare la risorsa cluster Kubernetes nel portale di Azure. Dopo aver aperto il portale nel browser, passare al gruppo di risorse e alla risorsa del servizio Azure Kubernetes in base al nome della risorsa e agli input del nome del gruppo di risorse usati nel comando enable-akshciarcconnection di PowerShell.

Nota

Dopo aver connesso il cluster, la visualizzazione dei metadati del cluster (versione del cluster, versione dell'agente, numero di nodi) nella pagina di panoramica della risorsa servizio Azure Kubernetes in portale di Azure può richiedere un massimo di cinque minuti.

Agenti Azure Arc per Kubernetes

Il servizio Azure Kubernetes distribuisce alcuni operatori nello spazio dei azure-arc nomi . È possibile visualizzare queste distribuzioni e pod con kubectl, come illustrato nell'esempio seguente:

kubectl -n azure-arc get deployments,pods

Il servizio Azure Kubernetes è costituito da alcuni agenti (operatori) eseguiti nel cluster distribuito nello azure-arc spazio dei nomi . Per altre informazioni su questi agenti, vedere questa panoramica.

Disconnettere il cluster del servizio Azure Kubernetes da Azure Arc

Se si vuole disconnettere il cluster dal servizio Azure Kubernetes, eseguire il comando Disable-AksHciArcConnection di PowerShell. Assicurarsi di accedere ad Azure prima di eseguire il comando:

Disable-AksHciArcConnection -Name $clusterName

Passaggi successivi