Udostępnij za pośrednictwem


Tworzenie i konfigurowanie klastra AKS Edge Essentials, który może uruchamiać operacje usługi Azure IoT

Azure Kubernetes Service (AKS) Edge Essentials to jedna z obsługiwanych platform klastrów dla operacji usługi Azure IoT. Za pomocą usługi AKS Edge Essentials można utworzyć klaster Kubernetes zarządzany przez firmę Microsoft i wdrożyć na nim operacje usługi Azure IoT jako obciążenie. W tym artykule opisano kroki uruchamiania skryptu, który tworzy klaster Kubernetes usługi AKS Edge Essentials z wymaganą konfiguracją operacji usługi Azure IoT, a następnie łączy ten klaster z usługą Azure Arc.

Uwaga

Operacje usługi Azure IoT obsługują podstawowe elementy usługi AKS Edge podczas wdrażania w klastrach pojedynczych maszyn. Wdrażanie klastrów na wielu maszynach jest funkcją eksperymentalną.

Wymagania wstępne dotyczące uruchamiania skryptu

Do uruchomienia skryptu potrzebne są następujące 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. Jeśli nie masz subskrypcji platformy Azure, przed rozpoczęciem utwórz je bezpłatnie .

  • Interfejs wiersza polecenia platformy Azure w wersji 2.64.0 lub nowszej zainstalowany na komputerze deweloperskim. Użyj az --version polecenia , aby sprawdzić wersję i az upgrade zaktualizować w razie potrzeby. Aby uzyskać więcej informacji, zobacz Jak zainstalować interfejs wiersza polecenia platformy Azure.

  • Zainstaluj najnowszą wersję rozszerzeń connectedk8s dla interfejsu wiersza polecenia platformy Azure:

    az extension add --upgrade --name connectedk8s 
    
  • Wymagania sprzętowe: upewnij się, że maszyna ma co najmniej 16 GB dostępnej pamięci RAM, 4 dostępne procesory wirtualne i 52 GB wolnego miejsca na dysku zarezerwowane dla operacji usługi Azure IoT.

Tworzenie klastra z obsługą usługi Arc

Skrypt AksEdgeQuickStartForAio.ps1 automatyzuje proces tworzenia i łączenia klastra oraz jest zalecaną ścieżką do wdrażania operacji usługi Azure IoT w usłudze AKS Edge Essentials. Skrypt wykonuje następujące zadania:

  • Pobiera najnowszą wersję msi usługi AKS Edge Essentials z tego repozytorium.
  • Instaluje podstawowe elementy usługi AKS Edge i wdraża i tworzy pojedynczy klaster Kubernetes maszyny na maszynie z systemem Windows.
  • Łączy się z subskrypcją platformy Azure, tworzy grupę zasobów, jeśli jeszcze nie istnieje, i łączy klaster z usługą Arc w celu utworzenia klastra Kubernetes z obsługą usługi Arc.
  • Włącza funkcję lokalizacji niestandardowej w klastrze Kubernetes z obsługą usługi Arc.
  • Włącza funkcję federacji tożsamości obciążenia w klastrze Kubernetes z obsługą usługi Arc.
  • Wdraża aprowizację ścieżki lokalnej.
  • Konfiguruje reguły zapory na komputerze z systemem Windows hosta dla brokera MQTT.
  • Na maszynie wirtualnej z systemem Linux, która służy jako węzeł płaszczyzny sterowania Kubernetes:
    • Konfiguruje domyślny zakres adresów IP usługi Kubernetes dla domyślnego zakresu adresów IP 10.96.0.0/28.
    • Konfiguruje reguły tabeli adresów IP:
      • sudo iptables -A INPUT -p tcp -m state --state NEW -m tcp --dport 9110 -j ACCEPT
      • sudo iptables -A INPUT -p tcp --dport (10124, 8420, 2379, 50051) -j ACCEPT

Aby uruchomić skrypt szybkiego startu, wykonaj następujące kroki:

  1. Otwórz okno programu PowerShell z podwyższonym poziomem uprawnień i zmień katalog na folder roboczy.

  2. objectId Pobierz aplikację Microsoft Entra ID używaną przez usługę Azure Arc w dzierżawie. Uruchom następujące polecenie dokładnie zgodnie z zapisem bez zmiany wartości identyfikatora GUID.

    az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv
    
  3. Uruchom następujące polecenia, zastępując wartości symboli zastępczych swoimi informacjami:

    $url = "https://raw.githubusercontent.com/Azure/AKS-Edge/main/tools/scripts/AksEdgeQuickStart/AksEdgeQuickStartForAio.ps1"
    Invoke-WebRequest -Uri $url -OutFile .\AksEdgeQuickStartForAio.ps1
    Unblock-File .\AksEdgeQuickStartForAio.ps1
    Set-ExecutionPolicy -ExecutionPolicy Bypass -Scope Process -Force
    .\AksEdgeQuickStartForAio.ps1 -SubscriptionId "<SUBSCRIPTION_ID>" -TenantId "<TENANT_ID>" -ResourceGroupName "<RESOURCE_GROUP_NAME>"  -Location "<LOCATION>"  -ClusterName "<CLUSTER_NAME>" -CustomLocationOid "<ARC_APP_OBJECT_ID>"
    
    Symbol zastępczy Wartość
    SUBSCRIPTION_ID Identyfikator subskrypcji platformy Azure. Jeśli nie znasz identyfikatora subskrypcji, zobacz Znajdowanie subskrypcji platformy Azure.
    TENANT_ID Identyfikator dzierżawy firmy Microsoft Entra. Jeśli nie znasz identyfikatora dzierżawy, zobacz Znajdowanie dzierżawy firmy Microsoft Entra.
    RESOURCE_GROUP_NAME Nazwa istniejącej grupy zasobów lub nazwa nowej grupy zasobów do utworzenia. Obsługiwane jest tylko jedno wystąpienie operacji usługi Azure IoT na grupę zasobów.
    LOKALIZACJA Region świadczenia usługi Azure blisko Ciebie. Aby uzyskać listę obsługiwanych regionów świadczenia usługi Azure IoT Operations, zobacz Obsługiwane regiony.
    CLUSTER_NAME Nazwa nowego klastra do utworzenia.
    ARC_APP_OBJECT_ID Wartość identyfikatora obiektu pobrana w kroku 2.

    Jeśli podczas wdrażania występują problemy, na przykład jeśli maszyna zostanie uruchomiona ponownie w ramach tego procesu, uruchom ponownie zestaw poleceń.

  4. Uruchom następujące polecenia, aby sprawdzić, czy wdrożenie zakończyło się pomyślnie:

    Import-Module AksEdge
    Get-AksEdgeDeploymentInfo
    

    W danych wyjściowych Get-AksEdgeDeploymentInfo polecenia powinien zostać wyświetlony stan Arc klastra: Połączono.

Weryfikowanie klastra

Aby sprawdzić, czy klaster Kubernetes jest włączony w usłudze Azure Arc, uruchom następujące polecenie:

kubectl get deployments,pods -n azure-arc

Dane wyjściowe wyglądają podobnie do następującego przykładu:

NAME                                         READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/clusterconnect-agent         1/1     1            1           10m
deployment.apps/extension-manager            1/1     1            1           10m
deployment.apps/clusteridentityoperator      1/1     1            1           10m
deployment.apps/controller-manager           1/1     1            1           10m
deployment.apps/flux-logs-agent              1/1     1            1           10m
deployment.apps/cluster-metadata-operator    1/1     1            1           10m
deployment.apps/extension-events-collector   1/1     1            1           10m
deployment.apps/config-agent                 1/1     1            1           10m
deployment.apps/kube-aad-proxy               1/1     1            1           10m
deployment.apps/resource-sync-agent          1/1     1            1           10m
deployment.apps/metrics-agent                1/1     1            1           10m

NAME                                              READY   STATUS    RESTARTS        AGE
pod/clusterconnect-agent-5948cdfb4c-vzfst         3/3     Running   0               10m
pod/extension-manager-65b8f7f4cb-tp7pp            3/3     Running   0               10m
pod/clusteridentityoperator-6d64fdb886-p5m25      2/2     Running   0               10m
pod/controller-manager-567c9647db-qkprs           2/2     Running   0               10m
pod/flux-logs-agent-7bf6f4bf8c-mr5df              1/1     Running   0               10m
pod/cluster-metadata-operator-7cc4c554d4-nck9z    2/2     Running   0               10m
pod/extension-events-collector-58dfb78cb5-vxbzq   2/2     Running   0               10m
pod/config-agent-7579f558d9-5jnwq                 2/2     Running   0               10m
pod/kube-aad-proxy-56d9f754d8-9gthm               2/2     Running   0               10m
pod/resource-sync-agent-769bb66b79-z9n46          2/2     Running   0               10m
pod/metrics-agent-6588f97dc-455j8                 2/2     Running   0               10m

Następne kroki