Udostępnij za pośrednictwem


Dodatkowa konfiguracja i skrypty dla usługi AKS Edge Essentials

Ten artykuł zawiera alternatywne sposoby nawiązywania połączenia z usługą Azure Arc, które mogą mieć zastosowanie do klastrów połączonych za pośrednictwem serwera proxy.

Łączenie klastra AKS Edge Essentials z usługą Arc przy użyciu serwera proxy

Wymagania wstępne

  • Subskrypcja platformy Azure z rolą Właściciel lub kombinacją ról Współautor i Administrator dostępu użytkowników. Poziom dostępu możesz sprawdzić, przechodząc do subskrypcji, wybierając pozycję Kontrola dostępu (Zarządzanie dostępem i tożsamościami) po lewej stronie witryny Azure Portal, a następnie wybierając pozycję Wyświetl mój dostęp. Przeczytaj dokumentację usługi Azure Resource Manager, aby uzyskać więcej informacji na temat zarządzania grupami zasobów.
  • Włącz wszystkich wymaganych dostawców zasobów w subskrypcji platformy Azure, takich jak Microsoft.HybridCompute, Microsoft.GuestConfiguration, Microsoft.HybridConnectivity, Microsoft.Kubernetes i Microsoft.KubernetesConfiguration.
  • Utwórz i zweryfikuj grupę zasobów dla zasobów platformy Azure usługi AKS Edge Essentials.

Uwaga

Aby móc usunąć zasoby w grupie zasobów, musisz mieć rolę Współautor . Polecenia rozłączenia z usługą Arc zakończą się niepowodzeniem bez tego przypisania roli.

Krok 1. Konfigurowanie klastra na potrzeby łączności platformy Azure

  1. Pobierz repozytorium GitHub Azure/AKS-Edge, jeśli jeszcze tego nie zrobiono. Przejdź do karty Kod i kliknij przycisk Pobierz plik zip , aby pobrać repozytorium jako plik .zip . Wyodrębnij plik .zip do folderu lokalnego.

  2. Podaj szczegóły subskrypcji platformy Azure w pliku aide-userconfig.json w Azure sekcji zgodnie z opisem w poniższej tabeli. Aby pomyślnie nawiązać połączenie z platformą Azure przy użyciu platformy Kubernetes z obsługą usługi Azure Arc, potrzebna jest jednostka usługi, która zapewnia dostęp oparty na rolach do zasobów na platformie Azure. Jeśli masz już identyfikator jednostki usługi i hasło, możesz zaktualizować wszystkie pola w pliku aide-userconfig.json . Jeśli nie masz jednostki usługi, możesz podać nazwę, a skrypt w następnym kroku utworzy go i wypełni sekcję Auth .

    Atrybut Typ wartości opis
    Azure.ClusterName string Podaj nazwę klastra. Domyślnie hostname_cluster jest używana nazwa.
    Azure.Location string Lokalizacja grupy zasobów. Wybierz lokalizację znajdującą się najbliżej wdrożenia.
    Azure.SubscriptionName string Nazwa subskrypcji.
    Azure.SubscriptionId Identyfikator GUID Identyfikator subskrypcji. W witrynie Azure Portal wybierz używaną subskrypcję, a następnie skopiuj/wklej ciąg identyfikatora subskrypcji do formatu JSON.
    Azure.TenantId Identyfikator GUID Identyfikator dzierżawy. W witrynie Azure Portal wyszukaj frazę "Azure Active Directory", która powinna zostać wyświetlona na stronie Katalog domyślny. W tym miejscu możesz skopiować/wkleić ciąg identyfikatora dzierżawy do pliku JSON.
    Azure.ResourceGroupName string Nazwa grupy zasobów platformy Azure do hostowania zasobów platformy Azure dla usługi AKS Edge Essentials. Możesz użyć istniejącej grupy zasobów lub jeśli dodasz nową nazwę, system utworzy dla Ciebie.
    Azure.ServicePrincipalName string Nazwa główna usługi platformy Azure.
    Azure.Auth.ServicePrincipalId Identyfikator GUID Identyfikator AppID jednostki usługi platformy Azure do użycia jako poświadczenia. Usługa AKS Edge Essentials używa tej jednostki usługi do łączenia klastra z usługą Arc. Możesz użyć istniejącej jednostki usługi lub jeśli dodasz nową nazwę, system utworzy go dla Ciebie w następnym kroku.
    Azure.Auth.Password string Hasło (w postaci zwykłego tekstu) jednostki usługi platformy Azure do użycia jako poświadczenia.
    AksEdgeConfigFile string Nazwa pliku konfiguracji AKS Edge Essentials (aksedge-config.json). Skrypt AksEdgeAzureSetup.ps1 aktualizuje sekcję Arc tego pliku JSON z wymaganymi informacjami.

    Uwaga

    Ta procedura jest wymagana tylko raz dla każdej subskrypcji platformy Azure i nie musi być powtarzana dla każdego klastra Kubernetes.

  3. Uruchom lub kliknij dwukrotnie plik AksEdgePrompt.cmd , aby otworzyć okno programu PowerShell z podwyższonym poziomem uprawnień z załadowanymi wymaganymi modułami. Zostanie wyświetlone omówienie informacji o komputerze i zainstalowanych wersjach oprogramowania.

  4. Uruchom skrypt AksEdgeAzureSetup.ps1 w folderze tools\scripts\AksEdgeAzureSetup. Ten skrypt wyświetla monit o zalogowanie się przy użyciu poświadczeń w celu skonfigurowania subskrypcji platformy Azure:

    # prompts for interactive login for service principal creation with Contributor role at resource group level
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json -spContributorRole
    
    # (or) alternative option
    
    # Prompts for interactive login for service principal creation with minimal privileges
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup.ps1 .\aide-userconfig.json
    
  5. Upewnij się, że poświadczenia są prawidłowe, używając skryptu AksEdgeAzureSetup-Test.ps1 . Ten skrypt loguje się do platformy Azure przy użyciu nowych poświadczeń jednostki usługi i sprawdza stan zasobów platformy Azure:

    # Test the credentials
    ..\tools\scripts\AksEdgeAzureSetup\AksEdgeAzureSetup-Test.ps1 .\aide-userconfig.json
    

Krok 2. Łączenie klastra z platformą Azure

  1. Załaduj konfigurację JSON do programu AksEdgeShell przy użyciu polecenia Read-AideUserConfig i sprawdź, czy wartości są aktualizowane przy użyciu polecenia Get-AideUserConfig. Alternatywnie możesz ponownie otworzyć AksEdgePrompt.cmd , aby użyć zaktualizowanej konfiguracji JSON:

    Read-AideUserConfig
    Get-AideUserConfig
    

    Ważne

    Za każdym razem, gdy modyfikujesz aide-userconfig.json, uruchom polecenie Read-AideUserConfig , aby ponownie załadować lub zamknij i otwórz ponownie AksEdgePrompt.cmd.

  2. Uruchom program Initialize-AideArc. Spowoduje to zainstalowanie interfejsu wiersza polecenia platformy Azure (jeśli jeszcze nie jest zainstalowane), zalogowanie się na platformie Azure przy użyciu podanych poświadczeń i zweryfikowanie konfiguracji platformy Azure (dostawców zasobów i stanu grupy zasobów):

    Initialize-AideArc
    
  3. Uruchom polecenie Connect-AideArc , aby zainstalować i połączyć maszynę hosta z serwerem z obsługą usługi Arc i połączyć istniejący klaster z platformą Kubernetes z obsługą usługi Arc:

    # Connect Arc-enabled server and Arc-enabled Kubernetes
    Connect-AideArc
    

    Alternatywnie można połączyć je indywidualnie przy użyciu Connect-AideArcServer serwerów z obsługą usługi Arc i Connect-AideArcKubernetes platformy Kubernetes z obsługą usługi Arc:

    # Connect Arc-enabled server
    Connect-AideArcServer
    # Connect Arc-enabled Kubernetes
    Connect-AideArcKubernetes
    

    Uwaga

    Ten krok może potrwać do 10 minut, a program PowerShell może zostać zablokowany w sekcji "Ustanawianie połączonej platformy Azure Kubernetes dla your cluster nameprogramu ". Polecenie programu PowerShell generuje dane wyjściowe True i wraca do wiersza polecenia po zakończeniu procesu. Token elementu nośnego jest zapisywany w servicetoken.txt w folderze tools .

Krok 3. Wyświetlanie klastra na platformie Azure

  1. Na panelu po lewej stronie wybierz blok Przestrzenie nazw w obszarze Zasoby kubernetes (wersja zapoznawcza):

    Zrzut ekranu przedstawiający podgląd zasobów kubernetes.

  2. Aby wyświetlić zasoby platformy Kubernetes, potrzebny jest token elementu nośnego:

    Zrzut ekranu przedstawiający wymagany token elementu nośnego.

  3. W oknie programu PowerShell uruchom polecenie Get-AksEdgeManagedServiceToken, skopiuj pełny ciąg i wklej go w witrynie Azure Portal:

    Zrzut ekranu przedstawiający wklejanie tokenu w portalu.

  4. Teraz możesz wyświetlić zasoby w klastrze. Na poniższej ilustracji przedstawiono blok Obciążenia przedstawiający taki sam jak kubectl get pods --all-namespaces:

    Zrzut ekranu przedstawiający wyniki wszystkich zasobników wyświetlanych w usłudze Arc.

Odłącz klaster AKS Edge Essentials od usługi Arc podczas korzystania z serwera proxy

Uruchom polecenie Disconnect-AideArc , aby odłączyć się od serwera z obsługą usługi Arc i platformy Kubernetes z obsługą usługi Arc:

# Disconnect Arc-enabled server and Arc-enabled Kubernetes
Disconnect-AideArc

Alternatywnie można je rozłączyć indywidualnie przy użyciu Connect-AideArcServer serwerów z obsługą usługi Arc i Connect-AideArcKubernetes platformy Kubernetes z obsługą usługi Arc:

# Disconnect Arc-enabled server
Disconnect-AideArcServer
# Disconnect Arc-enabled Kubernetes
Disconnect-AideArcKubernetes

Łączenie maszyny hosta z usługą Arc

  1. Maszynę hosta można połączyć przy użyciu Connect-AideArcServer serwerów z obsługą usługi Arc:

    # Connect Arc-enabled server
    Connect-AideArcServer
    
  2. Aby odłączyć maszynę hosta od usługi Arc, użyj polecenia Disconnect-AideArcServer dla serwerów z obsługą usługi Arc:

    # Disconnect Arc-enabled server
    Disconnect-AideArcServer
    

    Agenta usługi Arc for Server można również odinstalować, wykonując kroki opisane tutaj. Aby przeprowadzić pełne czyszczenie za pośrednictwem witryny Azure Portal, usuń jednostkę usługi i grupę zasobów utworzoną na potrzeby tego przykładu.

Następne kroki