Verbinden eines Azure Kubernetes Service Clusters mit Azure Arc

Gilt für: AKS in Azure Stack HCI 22H2, AKS unter Windows Server

Wenn ein Azure Kubernetes Service -Cluster (AKS) an Azure Arc angefügt wird, erhält er eine Azure Resource Manager-Darstellung. Cluster sind an Azure-Standardabonnements angefügt, befinden sich in einer Ressourcengruppe und können wie jede andere Azure-Ressource Tags erhalten. Außerdem können Sie mit der Kubernetes-Darstellung die folgenden Funktionen auf Ihren Kubernetes-Cluster erweitern:

  • Verwaltungsdienste: Konfigurationen (GitOps), Azure Monitor für Container, Azure Policy (Gatekeeper).
  • Datendienste: SQL Managed Instance, PostgreSQL Hyperscale.
  • Anwendungsdienste: App Service, Functions, Event Grid, Logic Apps, API Management.

Um einen Kubernetes-Cluster mit Azure zu verbinden, muss der Clusteradministrator Agents bereitstellen. Diese Agents werden in einem Kubernetes-Namespace namens azure-arc ausgeführt und sind Kubernetes-Standardbereitstellungen. Die Agents sind für die Konnektivität mit Azure verantwortlich, erfassen Azure Arc-Protokolle und -Metriken und aktivieren die zuvor erwähnten Szenarien im Cluster.

AKS unterstützt SSL nach Branchenstandard, um Daten während der Übertragung zu schützen. Die Daten werden außerdem im Ruhezustand verschlüsselt in einer Azure Cosmos DB-Datenbank gespeichert, um ihre Vertraulichkeit zu gewährleisten.

In den folgenden Schritten wird beschrieben, wie AKS-Cluster mit Azure Arc in AKS verbunden werden, die von Arc aktiviert werden. Sie können diese Schritte überspringen, wenn Sie Ihren Kubernetes-Cluster bereits mithilfe von Windows Admin Center mit Azure Arc verbunden haben.

Voraussetzungen

Vergewissern Sie sich, dass Sie die folgenden Anforderungen erfüllen:

  • Ein AKS-Cluster mit mindestens einem Linux-Workerknoten, der ausgeführt wird.
  • Installieren Sie das AksHci PowerShell-Modul.
  • Die folgende Zugriffsebene für Ihr Azure-Abonnement:
    • Ein Benutzerkonto mit der integrierten Rolle Besitzer. Sie können Ihre Zugriffsebene überprüfen, indem Sie zu Ihrem Abonnement navigieren, auf der linken Seite des Azure-Portal "Zugriffssteuerung (IAM)" auswählen und dann auf Meinen Zugriff anzeigen klicken.
    • Ein Dienstprinzipal mit der integrierten Rolle "Besitzer".
  • Führen Sie die Befehle in diesem Artikel in einem PowerShell-Verwaltungsfenster aus.
  • Stellen Sie sicher, dass Sie die Netzwerkanforderungen von AKS erfüllt haben.

Schritt 1: Anmelden bei Azure

Führen Sie zum Anmelden bei Azure den PowerShell-Befehl Connect-AzAccount aus:

Connect-AzAccount $tenantId

Wenn Sie zu einem anderen Abonnement wechseln möchten, führen Sie den PowerShell-Befehl Set-AzContext aus:

Set-AzContext -Subscription $subscriptionId

Schritt 2: Registrieren der beiden Anbieter für AKS

Sie können diesen Schritt überspringen, wenn Sie die beiden Anbieter für AKS bereits in Ihrem Abonnement registriert haben. Die Registrierung ist ein asynchroner Prozess und muss einmal pro Abonnement erfolgen. Die Registrierung kann ca. 10 Minuten dauern:

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

Mit den folgenden Befehlen können Sie überprüfen, ob Sie registriert sind:

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

Schritt 3: Herstellen einer Verbindung mit Azure Arc mithilfe des AKS-HCI-PowerShell-Moduls

Verbinden Sie Ihren AKS-Cluster mithilfe des PowerShell-Befehls Enable-AksHciArcConnection mit Kubernetes. In diesem Schritt werden Azure Arc-Agents für Kubernetes im azure-arc Namespace bereitgestellt:

Enable-AksHciArcConnection -name $clusterName 

Verbinden Sie Ihren AKS-Cluster mit Azure Arc über einen Service Principal

Wenn Sie keinen Zugriff auf ein Abonnement haben, für das Sie "Besitzer" sind, können Sie Ihren AKS-Cluster mithilfe eines Dienstprinzipals mit Azure Arc verbinden.

Der erste Befehl fordert zur Eingabe von Dienstprinzipal-Anmeldeinformationen auf und speichert sie in der $Credential Variable. Wenn Sie dazu aufgefordert werden, geben Sie Ihre Anwendungs-ID für den Benutzernamen ein, und verwenden Sie dann den geheimen Dienstprinzipalschlüssel als Kennwort. Stellen Sie sicher, dass Sie diese Werte von Ihrem Abonnementadministrator erhalten. Der zweite Befehl verbindet Ihren Cluster mithilfe der in der $Credential Variablen gespeicherten Anmeldeinformationen des Dienstprinzipals mit Azure Arc:

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

Stellen Sie sicher, dass dem dienstprinzipal, der im obigen Befehl verwendet wird, die Rolle "Besitzer" zugewiesen ist und dass er über einen Bereich über die im Befehl verwendete Abonnement-ID verfügt. Weitere Informationen zu Dienstprinzipalen finden Sie unter Create eines Dienstprinzipals mit Azure PowerShell.

Verbinden Ihres AKS-Clusters mit Azure Arc und Aktivieren von benutzerdefinierten Standorten

Wenn Sie benutzerdefinierte Speicherorte in Ihrem Cluster zusammen mit Azure Arc aktivieren möchten, führen Sie den folgenden Befehl aus, um die Objekt-ID der benutzerdefinierten Standortanwendung abzurufen, und stellen Sie dann mithilfe eines Dienstprinzipals eine Verbindung mit Azure Arc her:

$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

Überprüfen des verbundenen Clusters

Sie können Ihre Kubernetes-Clusterressource im Azure-Portal anzeigen. Nachdem Sie das Portal in Ihrem Browser geöffnet haben, navigieren Sie zu der Ressourcengruppe und der AKS-Ressource, die auf den Eingaben des Ressourcennamens und des Ressourcengruppennamens basiert, die im PowerShell-Befehl enable-akshciarcconnection verwendet werden.

Hinweis

Nachdem Sie den Cluster verbunden haben, kann es maximal fünf bis zehn Minuten dauern, bis die Clustermetadaten (Clusterversion, Agent-Version, Anzahl der Knoten) auf der Übersichtsseite der AKS-Ressource in Azure-Portal angezeigt werden.

Azure Arc-Agents für Kubernetes

AKS stellt einige Operatoren im azure-arc Namespace bereit. Sie können diese Bereitstellungen und Pods mit kubectlanzeigen, wie im folgenden Beispiel gezeigt:

kubectl -n azure-arc get deployments,pods

AKS besteht aus einigen Agents (Operatoren), die in Ihrem Cluster ausgeführt werden, der im azure-arc Namespace bereitgestellt wird. Weitere Informationen zu diesen Agents finden Sie in dieser Übersicht.

Trennen Des AKS-Clusters von Azure Arc

Wenn Sie den Cluster von AKS trennen möchten, führen Sie den PowerShell-Befehl Disable-AksHciArcConnection aus. Stellen Sie sicher, dass Sie sich bei Azure anmelden, bevor Sie den Befehl ausführen:

Disable-AksHciArcConnection -Name $clusterName

Nächste Schritte