Azure IoT Katmanlı Ağ Yönetimi Önizlemesi için örnek ağ ortamı oluşturma
Ö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 Önizleme hizmetini kullanmak için yalıtılmış bir ağ ortamı yapılandırmanız gerekir. Örneğin, ISA-95/Purdue Ağ mimarisi. Bu sayfada, yalıtıma nasıl ulaşmak istediğinize bağlı olarak bir test ortamı ayarlamak için birkaç örnek sağlanır.
- Fiziksel segmentasyon - Ağlar fiziksel olarak ayrılmıştır. Bu durumda, hem İnternet'e yönelik ağa hem de yalıtılmış ağa bağlanmak için Katmanlı Ağ Yönetimi'nin bir çift NIC (Ağ Arabirimi Kartı) konağına dağıtılması gerekir.
- Mantıksal segmentasyon - Ağ, VLAN, alt ağ veya güvenlik duvarı gibi yapılandırmalarla mantıksal olarak segmentlere ayrılmıştır. Katmanlı Ağ Yönetimi tek bir uç noktaya sahiptir ve kendi ağ katmanına ve yalıtılmış katmana görünür olacak şekilde yapılandırılmıştır.
Her iki yaklaşım da, ağ trafiğini üst katmandaki Katmanlı Ağ Yönetimi örneğine yönlendirmek için yalıtılmış ağ katmanında özel bir DNS yapılandırmanızı gerektirir.
Önemli
Katmanlı Ağ Yönetimi belgelerinde özetlenen ağ ortamları, Katmanlı Ağ Yönetimi'ni test etme örnekleridir. Bu, üretim için ağ ve küme topolojinizi nasıl derlediğinize ilişkin bir öneri değildir.
Yalıtılmış ağı fiziksel segmentasyon ile yapılandırma
Aşağıdaki örnek yapılandırma, en düşük fiziksel cihazlara sahip basit bir yalıtılmış ağdır.
- Kablosuz erişim noktası yerel ağ ayarlamak için kullanılır ve İnternet erişimi sağlamaz.
- Düzey 4 kümesi , İnternet'e ve yerel ağa bağlanan bir çift ağ arabirim kartı (NIC) fiziksel makinesinde barındırılan tek düğüm bir kümedir.
- Düzey 3 kümesi , fiziksel makinede barındırılan tek düğüm bir kümedir. Bu cihaz kümesi yalnızca yerel ağa bağlanır.
Katmanlı Ağ Yönetimi, çift NIC kümesine dağıtılır. Yerel ağdaki küme, Azure ve Arc hizmetlerine erişmek için ara sunucu olarak Katmanlı Ağ Yönetimi'ne bağlanır. Buna ek olarak, etki alanı adı çözümlemesi sağlamak ve trafiği Katmanlı Ağ Yönetimi'ne yönlendirmek için yerel ağda özel bir DNS gerekir. Daha fazla bilgi için bkz . Özel DNS yapılandırma.
Yalıtılmış Ağı mantıksal kesimleme ile yapılandırma
Aşağıdaki diyagramda, her düzeyin alt ağlarla mantıksal olarak segmentlere ayrıldığı yalıtılmış bir ağ ortamı gösterilmektedir. Bu test ortamında her düzeyde birden çok küme vardır. Kümeler AKS Edge Essentials veya K3S olabilir. Düzey 4 ağındaki Kubernetes kümesinin doğrudan İnternet erişimi vardır. Düzey 3 ve altındaki Kubernetes kümelerinin İnternet erişimi yoktur.
Bu test kurulumundaki birden çok ağ düzeyi, bir ağ içindeki alt ağlar kullanılarak gerçekleştirilir:
- Düzey 4 alt ağı (10.104.0.0/16) - Bu alt ağın İnternet erişimi vardır. Tüm istekler internet üzerindeki hedeflere gönderilir. Bu alt ağ, 10.104.0.10 IP adresine sahip tek bir Windows 11 makinesine sahiptir.
- Düzey 3 alt ağı (10.103.0.0/16) - Bu alt ağın İnternet erişimi yoktur ve yalnızca Düzey 4'teki 10.104.0.10 IP adresine erişimi olacak şekilde yapılandırılmıştır. Bu alt ağ, IP adresi 10.103.0.33 olan bir Windows 11 makinesi ve DNS sunucusunu barındıran bir Linux makinesi içerir. DNS sunucusu, Özel DNS yapılandırma'daki adımlar kullanılarak yapılandırılır. DNS yapılandırmasındaki tüm etki alanları 10.104.0.10 adresine eşlenmelidir.
- Düzey 2 alt ağı (10.102.0.0/16) - Düzey 3 gibi bu alt ağın İnternet erişimi yoktur. Yalnızca düzey 3'teki 10.103.0.33 IP adresine erişimi olacak şekilde yapılandırılır. Bu alt ağ, 10.102.0.28 IP adresine sahip bir Windows 11 makinesi ve dns sunucusunu barındıran bir Linux makinesi içerir. Bu ağda 10.102.0.28 IP adresine sahip bir Windows 11 makinesi (düğüm) vardır. DNS yapılandırmasındaki tüm etki alanları 10.103.0.33 adresine eşlenmelidir.
Bu tür bir ağ ortamını ayarlamak için aşağıdaki örneklere bakın.
En düşük donanımla mantıksal segmentlere ayırma örneği
Bu örnekte her iki makine de İnternet'e bağlanan bir erişim noktasına (AP) bağlıdır. Düzey 4 konak makinesi İnternet'e erişebilir. Düzey 3 konağı, AP'nin yapılandırmasıyla İnternet'e erişim için engellenir. Örneğin, güvenlik duvarı veya istemci denetimi. Her iki makine de aynı ağda olduğundan, düzey 4 kümesinde barındırılan Katmanlı Ağ Yönetimi örneği varsayılan olarak 3. düzey makine ve kümeye görünür. Etki alanı adı çözümlemesi sağlamak ve trafiği Katmanlı Ağ Yönetimi'ne yönlendirmek için yerel ağda fazladan bir özel DNS ayarlanması gerekir. Daha fazla bilgi için bkz . Özel DNS yapılandırma.
Azure'da mantıksal segmentlere ayırma örneği
Bu örnekte, Azure'da bir sanal ağ ve Linux sanal makinesi ile bir test ortamı oluşturulur.
Önemli
Sanal ortam yalnızca araştırma ve değerlendirme içindir. Daha fazla bilgi için bkz . Azure IoT İşlemleri Önizlemesi için doğrulanmış ortamlar .
- Azure aboneliğinizde bir sanal ağ oluşturun. En az iki katman için alt ağlar oluşturun (düzey 4 ve düzey 3).
- Sıçrama kutusu veya geliştirici makinesinin katmanlar arasında makineye veya kümeye uzaktan erişmesi için ek bir alt ağ oluşturmak isteğe bağlıdır. bu kurulum, ikiden fazla ağ katmanı oluşturmayı planlıyorsanız kullanışlıdır. Aksi takdirde, sıçrama kutusu makinesini düzey 4 ağına bağlayabilirsiniz.
- Her düzey için ağ güvenlik grupları oluşturun ve buna göre alt ağa ekleyin.
- Düzey 4 güvenlik grubu için varsayılan değeri kullanabilirsiniz.
- Düzey 3 (ve alt düzey) güvenlik grubu için ek gelen ve giden kuralları yapılandırmanız gerekir.
- Tüm ağ trafiğini reddetmek için gelen ve giden güvenlik kuralları ekleyin.
- Daha yüksek bir öncelikle, 4. düzey alt ağın IP aralığından gelen ve giden ağ trafiğine izin vermek için gelen ve giden güvenlik kuralları ekleyin.
- [İsteğe bağlı] Sıçrama kutusu alt ağı oluşturursanız, bu alt ağa gelen ve giden trafiğe izin vermek için gelen ve giden kuralları oluşturun.
- Düzey 3 ve düzey 4'te Linux VM'leri oluşturun.
- VM'nin belirtimi için doğrulanmış ortamlara bakın.
- VM'yi oluştururken, makineyi önceki adımlarda oluşturulan alt ağa bağlayın.
- VM için güvenlik grubu oluşturmayı atlayın.
Özel DNS yapılandırma
Düzey 3 ve altı için özel bir DNS gereklidir. Kümeden kaynaklanan ağ trafiği için DNS çözümlemesinin üst düzey Katmanlı Ağ Yönetimi örneğine işaret edilmesini sağlar. Mevcut veya üretim ortamında, DNS tasarımınıza aşağıdaki DNS çözümlemelerini ekleyin. Katmanlı Ağ Yönetimi hizmeti ve Azure IoT İşlemleri için bir test ortamı ayarlamak istiyorsanız aşağıdaki örneklere başvurabilirsiniz.
CoreDN'leri yapılandırma
DNS kurulumuna birçok farklı yolla ulaşılsa da, bu örnekte K3S kümeleri için varsayılan DNS sunucusu olan CoreDNS tarafından sağlanan bir uzantı mekanizması kullanılır. Çözümlenmesi gereken izin verilenler listesindeki URL'ler CoreDNS'ye eklenir.
Önemli
CoreDNS yaklaşımı yalnızca 3. düzeydeki Ubuntu konağındaki K3S kümesi için geçerlidir.
Düzey 4 Katmanlı Ağ Yönetimi Önizlemesi'nden yapılandırma haritası oluşturma
Düzey 4 kümesi ve Katmanlı Ağ Yönetimi hazır olduktan sonra aşağıdaki adımları gerçekleştirin.
Aşağıdaki komutla Katmanlı Ağ Yönetimi hizmetinin IP adresini onaylayın:
kubectl get services -n azure-iot-operations
Çıkış aşağıdaki gibi görünmelidir. Hizmetin IP adresi şeklindedir
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
Yapılandırma eşlemelerini aşağıdaki komutla görüntüleyin:
kubectl get cm -n azure-iot-operations
Çıktı aşağıdaki örnekteki gibi görünmelidir:
NAME DATA AGE aio-lnm-level4-config 1 50s aio-lnm-level4-client-config 1 50s
öğesini özelleştirin
aio-lnm-level4-client-config
. Bu yapılandırma, düzey 3 kümesinden en üst düzey Katmanlı Ağ Yönetimi örneğine trafiği iletmek için düzey 3 kurulumunun bir parçası olarak gereklidir.# 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
Bu adım, adlı bir dosya oluşturur
configmap-custom-level4.yaml
K3S'nin düzey 3 CoreDNS'sini yapılandırma
K3S kümesini ayarladıktan ve 3. düzey yalıtılmış katmana taşıdıktan sonra, düzey 3 K3S'nin CoreDNS'sini daha önce oluşturulmuş özelleştirilmiş istemci yapılandırmasıyla yapılandırın.
öğesini
configmap-custom-level4.yaml
düzey 3 konağına veya kümeye uzaktan eriştiğiniz sisteme kopyalayın.Aşağıdaki komutları çalıştırın:
# 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.
Önceki adım, küme içindeki izin verilenler listesine alınan URL'leri çözümlemek için DNS yapılandırmasını 4. düzeye ayarlar. Küme dışındaki DNS'nin de aynı işlemi gerçekleştirdiğinden emin olmak için, trafiği K3S kümesi içindeki CoreDNS'ye iletmek için systemd-resolved'ı yapılandırmanız gerekir. K3S ana bilgisayarında aşağıdaki komutları çalıştırın: Aşağıdaki dizini oluşturun:
sudo mkdir /etc/systemd/resolved.conf.d
Aşağıdaki içeriklere sahip adlı
lnm.conf
bir dosya oluşturun. IP adresi, kube-system ad alanında çalışan kube-dns hizmetinin düzey 3 küme IP adresi olmalıdır.[Resolve] DNS=<PUT KUBE-DNS SERVICE IP HERE> DNSStubListener=no
DNS çözümleyicisini yeniden başlatın:
sudo systemctl restart systemd-resolved
İ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