Udostępnij za pośrednictwem


Łączenie klastra usługi 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 usługi 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), 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 danych przesyłanych. 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. Te kroki można pominąć, jeśli klaster Kubernetes został już połączony z usługą Azure Arc przy użyciu centrum administracyjnego systemu Windows.

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ściciel . Poziom dostępu możesz sprawdzić, przechodząc do subskrypcji, wybierając pozycję "Kontrola dostępu (IAM)" po lewej stronie witryny 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łniasz wymagania sieciowe usługi AKS.

Krok 1. Logowanie się do platformy Azure

Aby zalogować się na platformie 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

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 monity 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 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 tym poleceniu 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 Tworzenie jednostki usługi za pomocą programu 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 niestandardowej aplikacji lokalizacji, 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 witrynie Azure Portal. Po otwarciu portalu w przeglądarce przejdź do grupy zasobów i zasobu usługi AKS opartego na nazwie zasobu i nazwie 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 witrynie 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 to omówienie.

Odłączanie klastra usługi AKS od usługi Azure Arc

Jeśli chcesz rozłączyć klaster z 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