Sdílet prostřednictvím


Vytvoření ukázkového síťového prostředí pro azure IoT Layered Network Management Preview

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.

Pokud chcete používat službu Azure IoT Layered Network Management Preview, musíte nakonfigurovat izolované síťové prostředí. Například architektura SÍTĚ ISA-95/Purdue. Tato stránka obsahuje několik příkladů pro nastavení testovacího prostředí, závisí na tom, jak chcete dosáhnout izolace.

  • Fyzická segmentace – sítě jsou fyzicky oddělené. V tomto případě musí být správa vrstvené sítě nasazena na hostitele se dvěma síťovými kartami (síťová karta), aby se připojila k internetu i izolované síti.
  • Logická segmentace – Síť je logicky segmentovaná s konfiguracemi, jako je síť VLAN, podsíť nebo brána firewall. Správa vrstvené sítě má jeden koncový bod a je nakonfigurovaný tak, aby byl viditelný pro vlastní síťovou vrstvu a izolovanou vrstvu.

Oba přístupy vyžadují, abyste nakonfigurovali vlastní DNS v izolované síťové vrstvě tak, aby směroval síťový provoz do instance správy vrstvené sítě v horní vrstvě.

Důležité

Síťová prostředí popsaná v dokumentaci ke správě vrstvených sítí jsou příklady pro testování správy vrstvených sítí. Nejedná se o doporučení, jak vytvořit topologii sítě a clusteru pro produkční prostředí.

Konfigurace izolované sítě s využitím fyzické segmentace

Následující příklad konfigurace je jednoduchá izolovaná síť s minimálními fyzickými zařízeními.

Diagram of a physical device isolated network configuration.

  • Bezdrátový přístupový bod se používá k nastavení místní sítě a neposkytuje přístup k internetu.
  • Cluster úrovně 4 je cluster s jedním uzlem hostovaný na fyzickém počítači se dvěma síťovými kartami, který se připojuje k internetu a místní síti.
  • Cluster úrovně 3 je cluster s jedním uzlem hostovaný na fyzickém počítači. Tento cluster zařízení se připojuje pouze k místní síti.

Správa vrstvené sítě se nasadí do clusteru se dvěma síťovými adaptéry. Cluster v místní síti se připojí ke správě vrstvené sítě jako proxy server pro přístup ke službám Azure a Arc. Kromě toho by potřeboval vlastní DNS v místní síti, aby poskytoval překlad názvů domén a odkazoval provoz na správu vrstvené sítě. Další informace najdete v tématu Konfigurace vlastního DNS.

Konfigurace izolované sítě s logickou segmentací

Následující diagram znázorňuje izolované síťové prostředí, ve kterém je každá úroveň logicky segmentovaná s podsítěmi. V tomto testovacím prostředí je na každé úrovni několik clusterů. Clustery můžou být AKS Edge Essentials nebo K3S. Cluster Kubernetes v síti úrovně 4 má přímý přístup k internetu. Clustery Kubernetes na úrovni 3 a níže nemají přístup k internetu.

Diagram of a logical segmentation isolated network.

Několik úrovní sítí v tomto testovacím nastavení se provádí pomocí podsítí v síti:

  • Podsíť úrovně 4 (10.104.0.0/16) – tato podsíť má přístup k internetu. Všechny požadavky se posílají do cílů na internetu. Tato podsíť má jeden počítač s Windows 11 s IP adresou 10.104.0.10.
  • Podsíť úrovně 3 (10.103.0.0/16) – Tato podsíť nemá přístup k internetu a je nakonfigurovaná tak, aby měla přístup pouze k IP adrese 10.104.0.10 na úrovni 4. Tato podsíť obsahuje počítač s Windows 11 s IP adresou 10.103.0.33 a linuxovým počítačem, který je hostitelem serveru DNS. Server DNS je nakonfigurovaný pomocí kroků v části Konfigurace vlastního DNS. Všechny domény v konfiguraci DNS musí být namapovány na adresu 10.104.0.10.
  • Podsíť úrovně 2 (10.102.0.0/16) – Podobně jako úroveň 3 tato podsíť nemá přístup k internetu. Je nakonfigurovaný tak, aby měl přístup pouze k IP adrese 10.103.0.33 na úrovni 3. Tato podsíť obsahuje počítač s Windows 11 s IP adresou 10.102.0.28 a linuxovým počítačem, který je hostitelem serveru DNS. V této síti je jeden počítač (uzel) s Windows 11 s IP adresou 10.102.0.28. Všechny domény v konfiguraci DNS musí být namapovány na adresu 10.103.0.33.

Tento typ síťového prostředí najdete v následujících příkladech.

Příklad logické segmentace s minimálním hardwarem

V tomto příkladu jsou oba počítače připojené k přístupovému bodu (AP), který se připojuje k internetu. Hostitelský počítač úrovně 4 má přístup k internetu. Hostitel úrovně 3 je zablokovaný pro přístup k internetu s konfigurací ap. Například brána firewall nebo klientský ovládací prvek. Vzhledem k tomu, že oba počítače jsou ve stejné síti, je instance vrstvené správy sítě hostovaná na clusteru úrovně 4 ve výchozím nastavení viditelná pro počítač a cluster úrovně 3. V místní síti je potřeba nastavit další vlastní DNS, aby bylo možné poskytnout překlad názvů domény a směrovat provoz na správu vrstvené sítě. Další informace najdete v tématu Konfigurace vlastního DNS.

Diagram of a logical isolated network configuration.

Příklad logické segmentace v Azure

V tomto příkladu se vytvoří testovací prostředí s virtuální sítí a virtuálním počítačem s Linuxem v Azure.

Důležité

Virtuální prostředí je určené jenom pro zkoumání a hodnocení. Další informace najdete v ověřených prostředích pro Azure IoT Operations Preview.

  1. Vytvořte ve svém předplatném Azure virtuální síť. Vytvořte podsítě pro alespoň dvě vrstvy (úroveň 4 a úroveň 3). Screenshot for virtual network in Azure.
  2. Je volitelné vytvořit další podsíť pro jumpbox nebo vývojářský počítač pro vzdálený přístup k počítači nebo clusteru napříč vrstvami. Toto nastavení je vhodné, pokud plánujete vytvořit více než dvě vrstvy sítě. V opačném případě můžete počítač jumpbox připojit k síti úrovně 4.
  3. Vytvořte skupiny zabezpečení sítě pro každou úroveň a připojte se k podsíti odpovídajícím způsobem.
  4. Výchozí hodnotu můžete použít pro skupinu zabezpečení úrovně 4.
  5. Potřebujete nakonfigurovat další příchozí a odchozí pravidla pro skupinu zabezpečení úrovně 3 (a nižší).
    • Přidejte příchozí a odchozí pravidla zabezpečení pro odepření veškerého síťového provozu.
    • S vyšší prioritou přidejte příchozí a odchozí pravidla zabezpečení, která umožňují síťový provoz do a z rozsahu IP adres podsítě úrovně 4.
    • [Volitelné] Pokud vytvoříte podsíť jumpboxu, vytvořte příchozí a odchozí pravidla pro povolení provozu do a z této podsítě. Screenshot for level 3 security group.
  6. Vytvořte virtuální počítače s Linuxem na úrovni 3 a 4.
    • Informace o specifikaci virtuálního počítače najdete v ověřených prostředích .
    • Při vytváření virtuálního počítače připojte počítač k podsíti vytvořené v předchozích krocích.
    • Přeskočte vytvoření skupiny zabezpečení pro virtuální počítač.

Konfigurace vlastního systému DNS

Pro úroveň 3 a níže je potřeba vlastní DNS. Zajišťuje, aby překlad DNS pro síťový provoz pocházející z clusteru odkazoval na instanci správy vrstvené sítě na nadřazené úrovni. V existujícím nebo produkčním prostředí začleňte do návrhu DNS následující překlady DNS. Pokud chcete nastavit testovací prostředí pro službu vrstvené správy sítě a operace Azure IoT, můžete se podívat na následující příklady.

Konfigurace CoreDNS

I když lze nastavení DNS dosáhnout mnoha různými způsoby, tento příklad používá mechanismus rozšíření, který poskytuje CoreDNS, což je výchozí server DNS pro clustery K3S. Adresy URL na seznamu povolených adres, které je potřeba vyřešit, se přidají do CoreDNS.

Důležité

Přístup CoreDNS se vztahuje pouze na cluster K3S na hostiteli Ubuntu na úrovni 3.

Vytvoření mapy konfigurace z úrovně 4 vrstvené správy sítě ve verzi Preview

Po dokončení přípravy clusteru úrovně 4 a vrstvené správy sítě proveďte následující kroky.

  1. Pomocí následujícího příkazu potvrďte IP adresu služby Layered Network Management:

    kubectl get services -n azure-iot-operations
    

    Výstup by měl vypadat následovně. IP adresa služby je 20.81.111.118.

    NAME          TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE
    lnm-level4   LoadBalancer   10.0.141.101   20.81.111.118   80:30960/TCP,443:31214/TCP   29s
    
  2. Zobrazte mapy konfigurace pomocí následujícího příkazu:

    kubectl get cm -n azure-iot-operations
    

    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
    
  3. Přizpůsobit .aio-lnm-level4-client-config Tato konfigurace je nutná jako součást nastavení úrovně 3 pro přesměrování provozu z clusteru úrovně 3 do instance vrstvené správy sítě nejvyšší úrovně.

    # set the env var PARENT_IP_ADDR to the ip address of level 4 LNM instance.
      export PARENT_IP_ADDR="20.81.111.118"
    
    # run the script to generate a config map yaml
      kubectl get cm aio-lnm-level4-client-config -n azure-iot-operations -o yaml | yq eval '.metadata = {"name": "coredns-custom", "namespace": "kube-system"}' -| sed 's/PARENT_IP/'"$PARENT_IP_ADDR"'/' > configmap-custom-level4.yaml
    

    Tento krok vytvoří soubor s názvem configmap-custom-level4.yaml

Konfigurace 3 CoreDNS úrovně 3 K3S

Po nastavení clusteru K3S a jeho přesunutí do izolované vrstvy úrovně 3 nakonfigurujte CoreDNS úrovně 3 K3S s přizpůsobenou konfigurací klienta, která byla dříve vygenerována.

  1. configmap-custom-level4.yaml Zkopírujte ho na hostitele úrovně 3 nebo do systému, na kterém vzdáleně přistupujete ke clusteru.

  2. Spusťte následující příkazy:

    # Create a config map called coredns-custom in the kube-system namespace
    kubectl apply -f configmap-custom-level4.yaml
    
    # Restart coredns
    kubectl rollout restart deployment/coredns -n kube-system
    
    # validate DNS resolution
    kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- nslookup east.servicebus.windows.net
    
    # You should see the following output.
    kubectl run -it --rm --restart=Never busybox --image=busybox:1.28 -- nslookup east.servicebus.windows.net
    Server:    10.43.0.10
    Address 1: 10.43.0.10 kube-dns.kube-system.svc.cluster.local
    
    Name:      east.servicebus.windows.net
    Address 1: 20.81.111.118
    pod "busybox" deleted
    
    # Note: confirm that the resolved ip addresss matches the ip address of the level 4 Layered Network Management instance.
    
  3. Předchozí krok nastaví konfiguraci DNS pro překlad povolených adres URL uvnitř clusteru na úroveň 4. Abyste zajistili, že DNS mimo cluster dělá totéž, musíte nakonfigurovat systémově přeložený tak, aby předával provoz do CoreDNS uvnitř clusteru K3S. Na hostiteli K3S spusťte následující příkazy: Vytvořte následující adresář:

        sudo mkdir /etc/systemd/resolved.conf.d
    

    Vytvořte soubor s názvem lnm.conf s následujícím obsahem. IP adresa by měla být IP adresa clusteru úrovně 3 služby kube-dns, která běží v oboru názvů kube-system.

    [Resolve]
    DNS=<PUT KUBE-DNS SERVICE IP HERE> 
    DNSStubListener=no
    

    Restartujte překladač DNS:

    sudo systemctl restart systemd-resolved
    

Co je Azure IoT Layered Network Management Preview?