Sdílet prostřednictvím


Rychlý start: Konfigurace služby Azure IoT Layered Network Management (Preview) pro povolení clusteru v prostředí Azure

V tomto rychlém startu nastavíte azure IoT Layered Network Management (Preview) na úrovni 4 a úroveň 3 Purdue. Úroveň sítě 4 má přístup k internetu a úroveň 3 ne. Nakonfigurujete vrstvenou správu sítě (Preview) tak, aby směrovala síťový provoz z úrovně 3 do Azure. Nakonec můžete cluster K3S povolit Arc na úrovni 3, i když není přímo připojený k internetu.

  • Úroveň 4 clusteru AKS s nasazenou správou vrstvené sítě
  • Úroveň 3 je cluster K3S běžící na virtuálním počítači s Linuxem, který používá instanci vrstvené správy sítě na úrovni 4 k dosažení připojení k Azure. Síť úrovně 3 je nakonfigurovaná tak, aby měla odchozí přístup k síti úrovně 4 na portech 443 a 8084. Veškerý ostatní odchozí přístup je zakázaný.

Architektura správy vrstvených sítí vyžaduje konfiguraci DNS v síti na úrovni 3, kde jsou adresy URL na seznamu povolených adres repointovány na síť úrovně 4. V tomto příkladu se toto nastavení provádí pomocí automatizovaného nastavení založeného na CoreDNS, což je výchozí mechanismus překladu DNS, který se dodává s k3s.

Požadavky

Tyto požadavky jsou určené pouze pro nezávislé nasazení vrstvené správy sítě a clusteru podřízené úrovně s podporou arc.

  • Cluster AKS
  • Virtuální počítač s Ubuntu 22.04.3 LTS v Azure Linuxu
  • Jumpbox nebo instalační počítač, který má přístup k internetu a jak sítě úrovně 3, tak i 4.

Nasazení vrstvené správy sítě (Preview) do clusteru AKS

Tento postup nasadí vrstvenou správu sítě do clusteru AKS. Cluster je horní vrstva modelu ISA-95. Na konci této části máte instanci vrstvené správy sítě, která je připravená přijímat provoz z clusteru s podporou Azure Arc níže a podporovat nasazení služby Azure IoT Operations.

  1. Nakonfigurujte kubectl správu clusteru AKS z jumpboxu podle kroků v části Připojení ke clusteru.

  2. Pomocí následujícího příkazu Azure CLI nainstalujte operátor správy vrstvené sítě:

    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
    
  3. Pokud chcete ověřit, že instalace proběhla úspěšně, spusťte:

    kubectl get pods
    

    Měl by se zobrazit výstup, který vypadá jako v následujícím příkladu:

    NAME                                READY   STATUS        RESTARTS   AGE
    aio-lnm-operator-7db49dc9fd-kjf5x   1/1     Running       0          78s
    
  4. Vytvořte vlastní prostředek Správa vrstvené sítě vytvořením souboru s názvem level4.yaml s následujícím obsahem:

    apiVersion: layerednetworkmgmt.iotoperations.azure.com/v1beta1
    kind: Lnm
    metadata:
      name: level4
      namespace: default
    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: "management.azure.com"
          destinationType: external
        - destinationUrl: "*.dp.kubernetesconfiguration.azure.com"
          destinationType: external
        - destinationUrl: "login.microsoftonline.com"
          destinationType: external
        - destinationUrl: "*.login.microsoft.com"
          destinationType: external
        - destinationUrl: "login.windows.net"
          destinationType: external
        - destinationUrl: "mcr.microsoft.com"
          destinationType: external
        - destinationUrl: "*.data.mcr.microsoft.com"
          destinationType: external
        - destinationUrl: "gbl.his.arc.azure.com"
          destinationType: external
        - destinationUrl: "*.his.arc.azure.com"
          destinationType: external
        - destinationUrl: "k8connecthelm.azureedge.net"
          destinationType: external
        - destinationUrl: "guestnotificationservice.azure.com"
          destinationType: external
        - destinationUrl: "*.guestnotificationservice.azure.com"
          destinationType: external
        - destinationUrl: "sts.windows.net"
          destinationType: external
        - destinationUrl: "k8sconnectcsp.azureedge.net"
          destinationType: external
        - destinationUrl: "*.servicebus.windows.net"
          destinationType: external
        - destinationUrl: "graph.microsoft.com"
          destinationType: external
        - destinationUrl: "*.arc.azure.net"
          destinationType: external
        - destinationUrl: "*.obo.arc.azure.com"
          destinationType: external
        - destinationUrl: "linuxgeneva-microsoft.azurecr.io"
          destinationType: external
        - destinationUrl: "graph.windows.net"
          destinationType: external
        - destinationUrl: "*.azurecr.io"
          destinationType: external
        - destinationUrl: "*.blob.core.windows.net"
          destinationType: external
        - destinationUrl: "*.vault.azure.net"
          destinationType: external
        - destinationUrl: "*.blob.storage.azure.net"
          destinationType: external
        sourceIpRange:
        - addressPrefix: "0.0.0.0"
          prefixLen: 0
    
  5. Pokud chcete vytvořit instanci správy vrstvené sítě na základě souboru level4.yaml , spusťte:

    kubectl apply -f level4.yaml
    

    Tento krok vytvoří n pody, jednu službu a dvě konfigurační mapy. n je založen na počtu replik ve vlastním prostředku.

  6. Pokud chcete instanci ověřit, spusťte:

    kubectl get pods
    

    Výstup by měl vypadat takto:

    NAME                                    READY       STATUS    RESTARTS       AGE
    aio-lnm-operator-7db49dc9fd-kjf5x       1/1         Running       0          78s
    aio-lnm-level4-7598574bf-2lgss          1/1         Running       0          4s
    
  7. Pokud chcete zobrazit službu, spusťte:

    kubectl get services
    

    Výstup by měl vypadat jako v následujícím příkladu:

    NAME              TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
    aio-lnm-level4    LoadBalancer   10.0.141.101   20.81.111.118   80:30960/TCP,443:31214/TCP   29s
    
  8. Pokud chcete zobrazit konfigurační mapy, spusťte:

    kubectl get cm
    

    Výstup by měl vypadat jako v následujícím příkladu:

    NAME                           DATA   AGE
    aio-lnm-level4-config          1      50s
    aio-lnm-level4-client-config   1      50s
    
  9. V tomto příkladu je instance vrstvené správy sítě připravena přijímat provoz na externí IP 20.81.111.118adrese .

Příprava clusteru úrovně 3

Na úrovni 3 vytvoříte cluster Kubernetes K3S na virtuálním počítači s Linuxem. Pro zjednodušení nastavení clusteru můžete vytvořit virtuální počítač Azure Linux Ubuntu 22.04.3 LTS s přístupem k internetu a povolit ssh z jumpboxu.

Tip

V realističtějším scénáři, který spustí instalaci v izolované síti, můžete počítač připravit pomocí předem připravené image pro vaše řešení nebo přístup instalace Air-Gap v K3S.

  1. Na virtuálním počítači s Linuxem nainstalujte a nakonfigurujte K3S pomocí následujících příkazů:

    curl -sfL https://get.k3s.io | sh -s - --write-kubeconfig-mode 644
    
  2. Nakonfigurujte izolaci sítě pro úroveň 3. Pomocí následujících kroků nakonfigurujte cluster úrovně 3 tak, aby odesílal provoz pouze do vrstvené správy sítě na úrovni 4.

    • Přejděte do skupiny zabezpečení sítě síťového rozhraní virtuálního počítače.
    • Přidejte další odchozí pravidlo zabezpečení, které zakáže veškerý odchozí provoz z virtuálního počítače úrovně 3.
    • Přidejte další odchozí pravidlo s nejvyšší prioritou, které povolí odchozí provoz do clusteru AKS úrovně 4 na portech 443 a 8084.

    Snímek obrazovky s odchozími pravidly skupiny zabezpečení sítě

Zřízení clusteru v izolované vrstvě pro Arc

Pomocí následujících kroků povolíte cluster úrovně 3 pomocí instance vrstvené správy sítě na úrovni 4.

  1. Nastavte jumpbox tak, aby měl kubectl přístup ke clusteru.

    Vygenerujte konfigurační soubor na virtuálním počítači s Linuxem.

    k3s kubectl config view --raw > config.level3
    

    Na jumpboxu nastavte kubectl přístup ke clusteru úrovně 3 k3s zkopírováním config.level3 souboru do ~/.kube adresáře a jeho přejmenováním na config. Položka serveru v konfiguračním souboru by měla být nastavená na IP adresu nebo název domény virtuálního počítače úrovně 3.

  2. Informace o konfiguraci CoreDNS pro použití mechanismů rozšíření poskytovaných coreDNS (výchozí server DNS pro clustery K3S) pro přidání povolených adres URL najdete v tématu Konfigurace CoreDNS .

  3. Spuštěním následujících příkazů na jumpboxu připojte cluster ke službě Arc. Tento krok vyžaduje Azure CLI. V případě potřeby nainstalujte Az CLI.

    az login
    az account set --subscription <your Azure subscription ID>
    
    az connectedk8s connect -g <your resource group name> -n <your connected cluster name>
    

    Další informace o connectedk8s najdete v tématu Rychlý start: Připojení existujícího clusteru Kubernetes ke službě Azure Arc .

  4. Měl by se zobrazit výstup podobný následujícímu příkladu:

    This operation might take a while...
    
    The required pre-checks for onboarding have succeeded.
    Azure resource provisioning has begun.
    Azure resource provisioning has finished.
    Starting to install Azure arc agents on the Kubernetes cluster.
    {
      "agentPublicKeyCertificate": "MIICCgKCAgEAmU+Pc55pc3sOE2Jo5JbAdk+2OprUziCbgfGRFfbMHO4dT7A7LDaDk7tWwvz5KwUt66eMrabI7M52H8xXvy1j7YwsMwR5TaSeHpgrUe1/4XNYKa6SN2NbpXIXA3w4aHgtKzENm907rYMgTO9gBJEZNJpqsfCdb3E7AHWQabUe9y9T8aub+arBHLQ3furGkv8JnN2LCPbvLnmeLfc1J5
      ....
      ....
    
  5. Cluster Kubernetes je teď povolený arc a je uvedený ve skupině prostředků, kterou jste zadali v příkazu az connectedk8s connect. Zřizování tohoto clusteru můžete také ověřit prostřednictvím webu Azure Portal. V tomto rychlém startu se můžete podívat na možnost vrstvené správy sítě, která umožňuje arc pro váš cluster Kubernetes. Teď můžete vyzkoušet integrované prostředí Arc v tomto clusteru v izolované síti.

Další kroky