Łą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. Reprezentacja platformy Kubernetes pozwala również rozszerzyć następujące możliwości na klaster Kubernetes:

  • Usługi zarządzania: konfiguracje (GitOps), Usługa Azure Monitor dla kontenerów, Azure Policy (Gatekeeper).
  • Usługi danych: SQL Managed Instance, PostgreSQL w warstwie Hiperskala.
  • 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ą w branży protokół SSL w celu zabezpieczenia przesyłanych danych. Ponadto dane są przechowywane 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 z włączoną 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 roboczym systemu Linux, który jest uruchomiony.
  • Zainstaluj moduł AksHci programu PowerShell.
  • Następujący poziom dostępu w subskrypcji platformy Azure:
    • Konto użytkownika z wbudowaną rolą Właściciela . 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ściciela.
  • Uruchom polecenia w tym artykule w oknie administracyjnym programu PowerShell.
  • Upewnij się, że zostały spełnione wymagania sieciowe usługi AKS.

Krok 1. Logowanie się 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. Zarejestrowanie dwóch dostawców dla usługi AKS

Ten krok można pominąć, jeśli dwóch dostawców usługi AKS zostało już zarejestrowanych w ramach subskrypcji. Rejestracja jest procesem asynchronicznym i musi być wykonana 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 monit o poświadczenia jednostki usługi i przechowuje je w zmiennej $Credential . Po wyświetleniu monitu wprowadź identyfikator aplikacji dla nazwy użytkownika, a następnie użyj wpisu tajnego jednostki usługi jako hasła. Upewnij się, że te wartości są uzyskiwane 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 poleceniu powyżej ma przypisaną rolę "Właściciel" i że ma ona zakres dla identyfikatora subskrypcji użytego w poleceniu . Aby uzyskać więcej informacji na temat jednostek usługi, zobacz Twórca jednostkę usługi z 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ć na 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 od pięciu do dziesięciu minut, aby metadane klastra (wersja klastra, wersja agenta, liczba węzłów) pojawiły się 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. Możesz wyświetlić te wdrożenia i zasobniki 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 to omówienie.

Odłączanie klastra usługi AKS od 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 logujesz się do platformy Azure:

Disable-AksHciArcConnection -Name $clusterName

Następne kroki