Sdílet prostřednictvím


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.

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

  1. Ubuntu 22.04 LTS je doporučená verze hostitelského počítače.

  2. Nainstalujte Helm 3.8.0 nebo novější.

  3. Nainstalujte kubectl.

  4. 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.

Vytvoření clusteru K3S

  1. 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.

  2. Zkopírujte soubor yaml konfigurace K3s do .kube/configsouboru .

    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

  1. 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
    
  2. Nastavte proměnné prostředí pro kroky nastavení. Nahraďte hodnoty <> platnými hodnotami nebo názvy podle vašeho výběru. Vytvoří se CLUSTER_NAME na RESOURCE_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>"
    
  3. Nastavte kontext předplatného Azure pro všechny příkazy:

    az account set -s $SUBSCRIPTION_ID
    
  4. 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"
    
  5. 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
    
  6. 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

  1. 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
    
  2. 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ě.

  1. 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í.

  2. Vytvořte vlastní prostředek pro vytvoření instance správy vrstvené sítě.

    kubectl apply -f lnm-cr.yaml
    
  3. 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í.