Verbinden eines Azure Kubernetes-Dienstclusters mit Azure Arc

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

Wenn ein Azure Kubernetes Service (AKS)-Cluster mit Azure Arc verbunden ist, 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).
  • Data Services: SQL verwaltete Instanz, PostgreSQL Hyperscale.
  • Anwendungsdienste: App-Dienst, Funktionen, Ereignisraster, Logik-Apps, API-Verwaltung.

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 Standardmäßige Kubernetes-Bereitstellungen. Die Agents sind für die Konnektivität mit Azure verantwortlich, sammeln Azure Arc-Protokolle und -Metriken und aktivieren die zuvor erwähnten Szenarien im Cluster.

AKS unterstützt Branchenstandard-SSL zum Sichern von Daten während der Übertragung. 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 Sie AKS-Cluster mit Azure Arc in AKS verbinden, die von Arc aktiviert sind. Sie können diese Schritte überspringen, wenn Sie Ihren Kubernetes-Cluster bereits mit Azure Arc über Windows Admin Center 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 PowerShell-Modul AksHci.
  • Die folgende Zugriffsebene in Ihrem 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 Besitzerrolle .
  • Führen Sie die Befehle in diesem Artikel in einem PowerShell-Verwaltungsfenster aus.
  • Stellen Sie sicher, dass Sie die Netzwerkanforderungen von AKS erfüllen.

Schritt 1: Anmelden bei Azure

Um sich bei Azure anzumelden, führen Sie den Befehl Connect-AzAccount PowerShell 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 für Ihr Abonnement registriert haben. Die Registrierung ist ein asynchroner Prozess und muss einmal pro Abonnement erfolgen. Die Registrierung kann ungefähr 10 Minuten dauern:

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

Sie können überprüfen, ob Sie mit den folgenden Befehlen 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 mit Kubernetes mithilfe des PowerShell-Befehls "Enable-AksHciArcConnection ". 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 Dienstprinzipalschlüssel als Kennwort. Stellen Sie sicher, dass Sie diese Werte von Ihrem Abonnementadministrator erhalten. Der zweite Befehl verbindet Ihren Cluster mit Azure Arc, wobei die in der $Credential Variablen gespeicherten Dienstprinzipalanmeldeinformationen verwendet werden:

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

Stellen Sie sicher, dass dem in diesem Befehl verwendeten Dienstprinzipal die Rolle "Besitzer" zugewiesen ist und dass der Dienstbereich über die abonnement-ID verfügt, die im Befehl verwendet wird. Weitere Informationen zu Dienstprinzipalen finden Sie unter Erstellen eines Dienstprinzipals mit Azure PowerShell.

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

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 "00001111-aaaa-2222-bbbb-3333cccc4444").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 für Ressourcennamen und Ressourcengruppennamen 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, Agentversion, Anzahl von Knoten) auf der Übersichtsseite der AKS-Ressource im 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 kubectl, wie im folgenden Beispiel gezeigt, anzeigen:

kubectl -n azure-arc get deployments,pods

AKS besteht aus einigen Agents (Operatoren), die in Ihrem Cluster ausgeführt werden, der azure-arc im 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