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.
Nakonfigurujte
kubectl
správu clusteru AKS z jumpboxu podle kroků v části Připojení ke clusteru.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
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
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
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.
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
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
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
V tomto příkladu je instance vrstvené správy sítě připravena přijímat provoz na externí IP
20.81.111.118
adrese .
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.
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
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.
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.
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 naconfig
. 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.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 .
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 .... ....
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
- Informace o nastavení clusteru v izolované síti pro nasazení operací Azure IoT najdete v tématu Konfigurace služby Layered Network Management pro povolení operací Azure IoT v izolované síti.
- Další podrobnosti o nastavení komplexních síťových prostředí pro scénáře související s provozem Azure IoT najdete v tématu Vytvoření ukázkového síťového prostředí.