4. düzey kümede Azure IoT Katmanlı Ağ Yönetimi Önizlemesini yapılandırma
Önemli
Azure Arc tarafından etkinleştirilen Azure IoT İşlemleri Önizlemesi şu anda ÖNİzLEME aşamasındadır. Bu önizleme yazılımını üretim ortamlarında kullanmamalısınız.
Beta veya önizleme aşamasında olan ya da başka bir şekilde henüz genel kullanıma sunulmamış olan Azure özelliklerinde geçerli olan yasal koşullar için bkz. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları.
Azure IoT Katmanlı Ağ Yönetimi Önizlemesi, Azure IoT İşlemleri Önizleme bileşenlerinden biridir. Ancak, alt katmanda Azure IoT İşlemlerini desteklemek için üst ağ katmanına tek tek dağıtılabilir. Ağ katmanlarınızın en üst düzeyinde (genellikle ISA-95 ağ mimarisinin 4. düzeyi), küme ve Katmanlı Ağ Yönetimi hizmeti doğrudan İnternet erişimine sahiptir. Kurulum tamamlandıktan sonra Katmanlı Ağ Yönetimi hizmeti alt katmandan ağ trafiğini almaya hazır olur ve bunu Azure Arc'a iletir.
Önkoşullar
Katmanlı Ağ Yönetimi'ni sisteme tek tek dağıtmak için aşağıdaki minimum gereksinimleri karşılayın.
- AKS Edge Temel Parçalar Aks Edge Temel Parçalar - gereksinimleri ve destek matrisinde Arc bağlantılı küme ve GitOps kategorisi
- K3S Kubernetes kümesi - Azure Arc özellikli Kubernetes sistem gereksinimleri
Düzey 4'te Kubernetes kümesini ayarlama
Yalnızca Katmanlı Ağ Yönetimi'ni ayarlamak için önkoşullar Azure IoT İşlemleri dağıtımından daha basittir. Kubernetes kümenizi hazırlama bölümünde Azure IoT İşlemleri için genel gereksinimleri karşılamak isteğe bağlıdır.
AKS Edge Essentials ve K3S Kubernetes kümesini ayarlamak için aşağıdaki adımlar Microsoft tarafından doğrulanmıştır.
Ubuntu makinesi hazırlama
Ubuntu 22.04 LTS, konak makine için önerilen sürümdür.
Kubectl'yi yükleyin.
Azure CLI yükleyin. 3. düzey kümeye uzaktan erişmeyi planlıyorsanız Azure CLI'yi doğrudan düzey 4 makinesine veya başka bir geliştirici veya sıçrama kutusu makinesine yükleyebilirsiniz. Küme ana bilgisayarını temiz tutmak için Kubernetes kümesine uzaktan erişmeyi seçerseniz, bu makaledeki diğer adımlar için geliştirici makinesinden kubectl ve az" ile ilgili komutları çalıştırırsınız.
Azure CLI'yı yükleyin. Azure CLI'yi Linux'a yükleme makalesindeki adımları izleyin.
connectedk8s ve diğer uzantıları yükleyin.
az extension add --name connectedk8s az extension add --name k8s-extension
Kullanarak
az extension add --name azure-iot-ops
Azure CLI uzantısını yükleyin.
K3S kümesini oluşturma
Aşağıdaki komutla K3S'yi yükleyin:
curl -sfL https://get.k3s.io | sh -s - --disable=traefik --write-kubeconfig-mode 644
Önemli
treafik'i devre dışı bırakmak için parametresini kullandığınızdan
--disable=traefik
emin olun. Aksi takdirde, sonraki adımlarda Katmanlı Ağ Yönetimi hizmeti için genel IP ayırmaya çalıştığınızda bir sorun yaşayabilirsiniz.K3s yapılandırma yaml dosyasını konumuna
.kube/config
kopyalayın.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
Yay, kümeyi etkinleştirme
Azure CLI ile oturum açın. İzin sorunlarını daha sonra önlemek için, bir tarayıcı penceresi kullanarak etkileşimli olarak oturum açmanız önemlidir:
az login
Kurulum adımları için ortam değişkenlerini ayarlayın. içindeki
<>
değerleri, seçtiğiniz geçerli değerlerle veya adlarla değiştirin.CLUSTER_NAME
veRESOURCE_GROUP
, sağladığınız adlara göre oluşturulur:# 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>"
Tüm komutlar için Azure aboneliği bağlamını ayarlayın:
az account set -s $SUBSCRIPTION_ID
Gerekli kaynak sağlayıcılarını aboneliğinize kaydedin:
Not
Bu, abonelik başına tek seferlik bir yapılandırmadır.
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"
Azure aboneliğinizde tüm kaynakları depolamak üzere bir kaynak grubu oluşturmak için az group create komutunu kullanın:
az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
Kubernetes kümenizi arc-enable'a az connectedk8s connect komutunu kullanın ve önceki adımda oluşturduğunuz kaynak grubunda yönetin:
az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
İpucu
Komutlar
connectedk8s
başarısız olursa AKS Edge Essentials kümenizi Arc'a bağlama bölümünde bulunan cmdlet'leri kullanmayı deneyin.
Katmanlı Ağ Yönetimi Önizleme Hizmeti'ni kümeye dağıtma
Kubernetes kümeniz Arc özellikli olduğunda, Katmanlı Ağ Yönetimi hizmetini kümeye dağıtabilirsiniz.
Katmanlı Ağ Yönetimi Önizleme işlecini yükleme
Aşağıdaki komutu çalıştırın. Yer tutucuları
<RESOURCE GROUP>
ve<CLUSTER NAME>
önceki bir adımdaki Arc ekleme bilgilerinizi değiştirin.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
Katmanlı Ağ Yönetimi işlecinin çalıştığını doğrulamak için kubectl komutunu kullanın.
kubectl get pods -n azure-iot-operations
NAME READY STATUS RESTARTS AGE azedge-lnm-operator-598cc495c-5428j 1/1 Running 0 28h
Katmanlı Ağ Yönetimi Önizleme Hizmetini Yapılandırma
Katmanlı Ağ Yönetimi özel kaynağını oluşturun.
Belirtilen şekilde bir
lnm-cr.yaml
dosya oluşturun: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
Hata ayıklama veya deneme için loglevel parametresinin değerini hata ayıklamak üzere değiştirebilirsiniz.
Katmanlı Ağ Yönetimi örneği oluşturmak için Özel Kaynağı oluşturun.
kubectl apply -f lnm-cr.yaml
Katmanlı Ağ Yönetimi Kubernetes hizmetini görüntüleyin:
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
Iptables yapılandırması ekleme
Önemli
Bu adım yalnızca AKS Edge Temel Bileşenleri içindir.
Katmanlı Ağ Yönetimi dağıtımı, LoadBalancer türünde bir Kubernetes hizmeti oluşturur. Hizmete Kubernetes kümesi dışından erişilebilir olduğundan emin olmak için, temel alınan Windows ana bilgisayarının bağlantı noktalarını Katmanlı Ağ Yönetimi hizmetindeki uygun bağlantı noktalarıyla eşlemeniz gerekir.
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
Bu komutlar başarıyla çalıştırıldıktan sonra, Windows ana bilgisayarında 443 ve 10000 bağlantı noktalarına alınan trafik Kubernetes hizmetine yönlendirilir. Alt düzey ağ katmanı için özelleştirilmiş DNS yapılandırırken, ağ trafiğini bu Windows konağının IP'sine ve ardından üzerinde çalışan Katmanlı Ağ Yönetimi hizmetine yönlendirirsiniz.
İlgili içerik
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin