Łączenie klastra Azure Kubernetes Service z usługą Azure Arc

Dotyczy: usługa AKS w usłudze Azure Stack HCI 22H2, AKS w systemie Windows Server

Gdy klaster Azure Kubernetes Service (AKS) jest dołączony do usługi Azure Arc, otrzymuje reprezentację usługi Azure Resource Manager. Klastry są dołączone do standardowych subskrypcji platformy Azure, znajdują się w grupie zasobów i mogą odbierać tagi tak samo jak każdy inny zasób platformy Azure. Ponadto reprezentacja platformy Kubernetes umożliwia rozszerzenie następujących możliwości do klastra Kubernetes:

  • Usługi zarządzania: konfiguracje (GitOps), usługa Azure Monitor dla kontenerów, Azure Policy (Gatekeeper).
  • Usługi danych: SQL Managed Instance, Hiperskala PostgreSQL.
  • Usługi aplikacji: App Service, Functions, Event Grid, Logic Apps, API Management.

Aby połączyć klaster Kubernetes z platformą Azure, administrator klastra musi wdrożyć agentów. Ci agenci działają w przestrzeni nazw Kubernetes o nazwie azure-arc i są standardowymi wdrożeniami platformy Kubernetes. Agenci są odpowiedzialni za łączność z platformą Azure, zbieranie dzienników i metryk usługi Azure Arc oraz włączanie wcześniej wymienionych scenariuszy w klastrze.

Usługa AKS obsługuje standardową obsługę protokołu SSL w branży w celu zabezpieczenia danych przesyłanych. Ponadto dane są przechowywane zaszyfrowane w spoczynku w bazie danych usługi Azure Cosmos DB w celu zapewnienia poufności danych.

W poniższych krokach opisano sposób łączenia klastrów usługi AKS z usługą Azure Arc w usłudze AKS włączonej przez usługę Arc. Możesz pominąć te kroki, jeśli klaster Kubernetes został już połączony z usługą Azure Arc przy użyciu Windows Admin Center.

Zanim rozpoczniesz

Sprawdź, czy masz następujące wymagania:

  • Klaster usługi AKS z co najmniej jednym węzłem procesu roboczego systemu Linux, który jest uruchomiony.
  • Zainstaluj moduł programu PowerShell usługi AksHci.
  • Następujący poziom dostępu w subskrypcji platformy Azure:
    • Konto użytkownika z wbudowaną rolą Właściciel . Poziom dostępu możesz sprawdzić, przechodząc do subskrypcji, wybierając pozycję "Kontrola dostępu (IAM)" po lewej stronie Azure Portal, a następnie klikając pozycję Wyświetl mój dostęp.
    • Jednostka usługi z wbudowaną rolą Właściciel.
  • Uruchom polecenia w tym artykule w oknie administracyjnym programu PowerShell.
  • Upewnij się, że spełniono wymagania sieciowe usługi AKS.

Krok 1. Logowanie do platformy Azure

Aby zalogować się do platformy Azure, uruchom polecenie Connect-AzAccount programu PowerShell:

Connect-AzAccount $tenantId

Jeśli chcesz przełączyć się do innej subskrypcji, uruchom polecenie Set-AzContext programu PowerShell:

Set-AzContext -Subscription $subscriptionId

Krok 2. Rejestrowanie dwóch dostawców dla usługi AKS

Możesz pominąć ten krok, jeśli dwóch dostawców usługi AKS zostało już zarejestrowanych w ramach subskrypcji. Rejestracja jest procesem asynchronicznym i musi nastąpić raz na subskrypcję. Rejestracja może potrwać około 10 minut:

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

Możesz sprawdzić, czy jesteś zarejestrowany przy użyciu następujących poleceń:

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

Krok 3. Nawiązywanie połączenia z usługą Azure Arc przy użyciu modułu Aks-Hci PowerShell

Połącz klaster usługi AKS z platformą Kubernetes przy użyciu polecenia Enable-AksHciArcConnection programu PowerShell. Ten krok umożliwia wdrożenie agentów usługi Azure Arc dla platformy Kubernetes w azure-arc przestrzeni nazw:

Enable-AksHciArcConnection -name $clusterName 

Łączenie klastra usługi AKS z usługą Azure Arc przy użyciu jednostki usługi

Jeśli nie masz dostępu do subskrypcji, w której jesteś "właścicielem", możesz połączyć klaster usługi AKS z usługą Azure Arc przy użyciu jednostki usługi.

Pierwsze polecenie wyświetla monity o poświadczenia jednostki usługi i przechowuje je w zmiennej credential . Wprowadź identyfikator aplikacji dla nazwy użytkownika, a następnie użyj klucza tajnego jednostki usługi jako hasła po wyświetleniu monitu. Upewnij się, że otrzymasz te wartości od administratora subskrypcji. Drugie polecenie łączy klaster z usługą Azure Arc przy użyciu poświadczeń jednostki usługi przechowywanych w zmiennej credential :

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

Upewnij się, że jednostka usługi używana w powyższym poleceniu ma przypisaną rolę "Właściciel" i że ma ona zakres nad identyfikatorem subskrypcji używanym w poleceniu . Aby uzyskać więcej informacji na temat jednostek usługi, zobacz Tworzenie jednostki usługi za pomocą Azure PowerShell.

Łączenie klastra usługi AKS z usługą Azure Arc i włączanie lokalizacji niestandardowych

Jeśli chcesz włączyć lokalizacje niestandardowe w klastrze wraz z usługą Azure Arc, uruchom następujące polecenie, aby uzyskać identyfikator obiektu aplikacji lokalizacji niestandardowej, a następnie połącz się z usługą Azure Arc przy użyciu jednostki usługi:

$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

Weryfikowanie połączonego klastra

Zasób klastra Kubernetes można wyświetlić w Azure Portal. Po otwarciu portalu w przeglądarce przejdź do grupy zasobów i zasobu usługi AKS opartego na nazwie zasobu i nazwach grupy zasobów używanych w poleceniu enable-akshciarcconnection programu PowerShell.

Uwaga

Po połączeniu klastra może upłynąć maksymalnie pięć do dziesięciu minut, aby metadane klastra (wersja klastra, wersja agenta, liczba węzłów) mogły być wyświetlane na stronie przeglądu zasobu usługi AKS w Azure Portal.

Agenci usługi Azure Arc dla platformy Kubernetes

Usługa AKS wdraża kilka operatorów w azure-arc przestrzeni nazw. Te wdrożenia i zasobniki można wyświetlić za pomocą kubectlpolecenia , jak pokazano w poniższym przykładzie:

kubectl -n azure-arc get deployments,pods

Usługa AKS składa się z kilku agentów (operatorów), które są uruchamiane w klastrze wdrożonym w azure-arc przestrzeni nazw. Aby uzyskać więcej informacji na temat tych agentów, zobacz ten przegląd.

Rozłącz klaster usługi AKS z usługi Azure Arc

Jeśli chcesz odłączyć klaster od usługi AKS, uruchom polecenie Disable-AksHciArcConnection programu PowerShell. Przed uruchomieniem polecenia upewnij się, że zalogujesz się do platformy Azure:

Disable-AksHciArcConnection -Name $clusterName

Następne kroki