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ę iaz 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:
Otwórz okno programu PowerShell z podwyższonym poziomem uprawnień i zmień katalog na folder roboczy.
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
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ń.
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