Vytvoření ukázkového síťového prostředí pro azure IoT Layered Network Management (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ě je potřeba nasadit vrstvený síťový management (Preview) na hostitele se dvěma síťovými kartami (síťová karta), aby se připojila k internetové síti 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.
- 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.
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.
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 podporovaných prostředích pro operace Azure IoT.
- 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).
- 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.
- Vytvořte skupiny zabezpečení sítě pro každou úroveň a připojte se k podsíti odpovídajícím způsobem.
- Výchozí hodnotu můžete použít pro skupinu zabezpečení úrovně 4.
- 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ě.
- Vytvořte virtuální počítače s Linuxem na úrovni 3 a 4.
- Specifikace virtuálního počítače najdete v podporovaný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 ze správy vrstvené sítě úrovně 4
Po dokončení přípravy clusteru úrovně 4 a vrstvené správy sítě proveďte následující kroky.
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
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
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.
configmap-custom-level4.yaml
Zkopírujte ho na hostitele úrovně 3 nebo do systému, na kterém vzdáleně přistupujete ke clusteru.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 address matches the ip address of the level 4 Layered Network Management instance.
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