Konfigurace služby Azure IoT Layered Network Management Preview na clusteru úrovně 4
Důležité
Azure IoT Operations Preview – Služba Azure Arc je aktuálně ve verzi PREVIEW. Tento software ve verzi Preview byste neměli používat v produkčních prostředích.
Právní podmínky, které platí pro funkce Azure, které jsou ve verzi beta, verzi Preview nebo které zatím nejsou veřejně dostupné, najdete v Dodatečných podmínkách použití pro Microsoft Azure verze Preview.
Azure IoT Layered Network Management Preview je jednou z komponent Azure IoT Operations Preview. Můžete ho ale nasadit jednotlivě do horní síťové vrstvy pro podporu operací Azure IoT v nižší vrstvě. Na nejvyšší úrovni síťových vrstev (obvykle úroveň 4 síťové architektury ISA-95) má cluster a služba Layered Network Management přímý přístup k internetu. Po dokončení instalace je služba Správa vrstvené sítě připravená na příjem síťového provozu z podřízené vrstvy a předává ji do Azure Arc.
Požadavky
Splňovat následující minimální požadavky pro nasazení vrstvené síťové správy jednotlivě v systému.
- Cluster a kategorie GitOps připojené k AKS Edge Essentials - v požadavcích AKS Edge Essentials a matice podpory
- Požadavky na systém Kubernetes s podporou Azure Arc clusteru - K3S
Nastavení clusteru Kubernetes na úrovni 4
Pokud chcete nastavit pouze vrstvenou správu sítě, požadavky jsou jednodušší než nasazení operací Azure IoT. Je volitelné splnit obecné požadavky na operace Azure IoT v rámci přípravy clusteru Kubernetes.
Microsoft ověřuje následující kroky pro nastavení AKS Edge Essentials a clusteru K3S Kubernetes.
Příprava počítače s Ubuntu
Ubuntu 22.04 LTS je doporučená verze hostitelského počítače.
Nainstalujte Helm 3.8.0 nebo novější.
Nainstalujte kubectl.
Nainstalujte rozhraní příkazového řádku Azure. Azure CLI můžete nainstalovat přímo na počítač úrovně 4 nebo na jiný počítač pro vývojáře nebo jumpbox , pokud plánujete vzdálený přístup ke clusteru úrovně 3. Pokud se rozhodnete vzdáleně přistupovat ke clusteru Kubernetes, aby byl hostitel clusteru čistý, spustíte z vývojářského počítače související příkazy kubectl a az pro zbývající kroky v tomto článku.
Nainstalujte Azure CLI. Postupujte podle kroků v tématu Instalace Azure CLI v Linuxu.
Nainstalujte connectedk8s a další rozšíření.
az extension add --name connectedk8s az extension add --name k8s-extension
Nainstalujte rozšíření Azure CLI pomocí
az extension add --name azure-iot-ops
.
Vytvoření clusteru K3S
Nainstalujte K3S pomocí následujícího příkazu:
curl -sfL https://get.k3s.io | sh -s - --disable=traefik --write-kubeconfig-mode 644
Důležité
Nezapomeňte použít
--disable=traefik
parametr k zakázání treafik. V opačném případě může při pokusu o přidělení veřejné IP adresy pro službu Layered Network Management v dalších krocích dojít k problému.Zkopírujte soubor yaml konfigurace K3s do
.kube/config
souboru .mkdir ~/.kube cp ~/.kube/config ~/.kube/config.back sudo KUBECONFIG=~/.kube/config:/etc/rancher/k3s/k3s.yaml kubectl config view --flatten > ~/.kube/merged mv ~/.kube/merged ~/.kube/config chmod 0600 ~/.kube/config export KUBECONFIG=~/.kube/config #switch to k3s context kubectl config use-context default
Povolení clusteru arc
Přihlaste se pomocí Azure CLI. Abyste se vyhnuli problémům s oprávněními později, je důležité, abyste se interaktivně přihlásili pomocí okna prohlížeče:
az login
Nastavte proměnné prostředí pro kroky nastavení. Nahraďte hodnoty
<>
platnými hodnotami nebo názvy podle vašeho výběru. Vytvoří seCLUSTER_NAME
naRESOURCE_GROUP
základě vámi zadaných názvů:# Id of the subscription where your resource group and Arc-enabled cluster will be created $SUBSCRIPTION_ID = "<subscription-id>" # Azure region where the created resource group will be located # Currently supported regions: : "westus3" or "eastus2" $LOCATION = "WestUS3" # Name of a new resource group to create which will hold the Arc-enabled cluster and Azure IoT Operations resources $RESOURCE_GROUP = "<resource-group-name>" # Name of the Arc-enabled cluster to create in your resource group $CLUSTER_NAME = "<cluster-name>"
Nastavte kontext předplatného Azure pro všechny příkazy:
az account set -s $SUBSCRIPTION_ID
Zaregistrujte požadované poskytovatele prostředků ve vašem předplatném:
Poznámka:
Jedná se o jednorázovou konfiguraci pro každé předplatné.
az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperationsOrchestrator" az provider register -n "Microsoft.IoTOperationsMQ" az provider register -n "Microsoft.IoTOperationsDataProcessor" az provider register -n "Microsoft.DeviceRegistry"
Pomocí příkazu az group create vytvořte ve svém předplatném Azure skupinu prostředků pro uložení všech prostředků:
az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
Pomocí příkazu az connectedk8s connect povolte cluster Kubernetes a spravujte ho ve skupině prostředků, kterou jste vytvořili v předchozím kroku:
az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
Tip
connectedk8s
Pokud příkazy selžou, zkuste použít rutiny v Připojení clusteru AKS Edge Essentials do služby Arc.
Nasazení služby Layered Network Management Preview do clusteru
Jakmile je cluster Kubernetes povolený službou Arc, můžete do clusteru nasadit službu Správa vrstvené sítě.
Instalace operátoru Layered Network Management Preview
Spusťte následující příkaz: Zástupné symboly
<RESOURCE GROUP>
a<CLUSTER NAME>
informace o onboardingu Arc nahraďte z předchozího kroku.az login az k8s-extension create --resource-group <RESOURCE GROUP> --name kind-lnm-extension --cluster-type connectedClusters --cluster-name <CLUSTER NAME> --auto-upgrade false --extension-type Microsoft.IoTOperations.LayeredNetworkManagement --version 0.1.0-preview --release-train preview
Pomocí příkazu kubectl ověřte, že je spuštěný operátor správy vrstvené sítě.
kubectl get pods -n azure-iot-operations
NAME READY STATUS RESTARTS AGE azedge-lnm-operator-598cc495c-5428j 1/1 Running 0 28h
Konfigurace služby Správa vrstvených sítí ve verzi Preview
Vytvořte vlastní prostředek Správy vrstvené sítě.
Vytvořte soubor
lnm-cr.yaml
podle zadaného nastavení:apiVersion: layerednetworkmgmt.iotoperations.azure.com/v1beta1 kind: Lnm metadata: name: level4 namespace: azure-iot-operations spec: image: pullPolicy: IfNotPresent repository: mcr.microsoft.com/oss/envoyproxy/envoy-distroless tag: v1.27.0 replicas: 1 logLevel: "debug" openTelemetryMetricsCollectorAddr: "http://aio-otel-collector.azure-iot-operations.svc.cluster.local:4317" level: 4 allowList: enableArcDomains: true domains: - destinationUrl: "*.ods.opinsights.azure.com" destinationType: external - destinationUrl: "*.oms.opinsights.azure.com" destinationType: external - destinationUrl: "*.monitoring.azure.com" destinationType: external - destinationUrl: "*.handler.control.monitor.azure.com" destinationType: external - destinationUrl: "quay.io" destinationType: external - destinationUrl: "*.quay.io" destinationType: external - destinationUrl: "docker.io" destinationType: external - destinationUrl: "*.docker.io" destinationType: external - destinationUrl: "*.docker.com" destinationType: external - destinationUrl: "gcr.io" destinationType: external - destinationUrl: "*.googleapis.com" destinationType: external - destinationUrl: "login.windows.net" destinationType: external - destinationUrl: "graph.windows.net" destinationType: external - destinationUrl: "msit-onelake.pbidedicated.windows.net" destinationType: external - destinationUrl: "*.vault.azure.net" destinationType: external - destinationUrl: "*.k8s.io" destinationType: external - destinationUrl: "*.pkg.dev" destinationType: external - destinationUrl: "github.com" destinationType: external - destinationUrl: "raw.githubusercontent.com" destinationType: external sourceIpRange: - addressPrefix: "0.0.0.0" prefixLen: 0
Pro ladění nebo experimentování můžete změnit hodnotu parametru loglevel na ladění.
Vytvořte vlastní prostředek pro vytvoření instance správy vrstvené sítě.
kubectl apply -f lnm-cr.yaml
Zobrazení služby Kubernetes pro správu vrstvené sítě:
kubectl get services -n azure-iot-operations
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE lnm-level-4 LoadBalancer 10.43.91.54 192.168.0.4 80:30530/TCP,443:31117/TCP,10000:31914/TCP 95s
Přidání konfigurace iptables
Důležité
Tento krok je určený jenom pro AKS Edge Essentials.
Nasazení vrstvené správy sítě vytvoří službu Kubernetes typu LoadBalancer. Abyste měli jistotu, že je služba přístupná mimo cluster Kubernetes, musíte namapovat porty základního hostitele Windows na příslušné porty ve službě Pro správu vrstvené sítě.
netsh interface portproxy add v4tov4 listenport=443 listenaddress=0.0.0.0 connectport=443 connectaddress=192.168.0.4
netsh interface portproxy add v4tov4 listenport=10000 listenaddress=0.0.0.0 connectport=10000 connectaddress=192.168.0.4
Po úspěšném spuštění těchto příkazů se provoz přijatý na portech 443 a 10000 na hostiteli Windows směruje do služby Kubernetes. Při konfiguraci přizpůsobeného DNS pro síťovou vrstvu podřízené úrovně nasměrujete síťový provoz na IP adresu tohoto hostitele Windows a pak na službu Správa vrstvené sítě spuštěné na ní.
Související obsah
Váš názor
https://aka.ms/ContentUserFeedback.
Připravujeme: V průběhu roku 2024 budeme postupně vyřazovat problémy z GitHub coby mechanismus zpětné vazby pro obsah a nahrazovat ho novým systémem zpětné vazby. Další informace naleznete v tématu:Odeslat a zobrazit názory pro