Łączenie klastra Azure Kubernetes Service z usługą Azure Arc w środowisku hybrydowym usługi AKS

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

Gdy klaster Azure Kubernetes Service (AKS) jest dołączony do usługi Azure Arc, otrzyma 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)
  • Data Services — 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 powyższych 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 środowisku hybrydowym usługi AKS. Te kroki można pominąć, jeśli klaster Kubernetes został już połączony z usługą Azure Arc za pośrednictwem 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.
  • Zainstalowano 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 dokumencie 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 zostało już zarejestrowanych dla Azure Kubernetes Service 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 monit o poświadczenia jednostki usługi i przechowuje je w zmiennej credential . Wprowadź identyfikator aplikacji dla nazwy użytkownika, a następnie użyj wpisu tajnego jednostki usługi jako hasła po wyświetleniu monitu. 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 Create a service principal with Azure PowerShell (Tworzenie jednostki usługi przy użyciu 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 i połączyć 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. Te wdrożenia i zasobniki kubectl można wyświetlić poniżej.

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. Więcej informacji na temat tych agentów można znaleźć tutaj.

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ę na platformie Azure.

Disable-AksHciArcConnection -Name $clusterName

Następne kroki