Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Önemli
Bu sayfa, önizleme aşamasında olan Kubernetes dağıtım bildirimlerini kullanarak Azure IoT İşlemleri bileşenlerini yönetme yönergelerini içerir. Bu özellik çeşitli sınırlamalarla sağlanır ve üretim iş yükleri için kullanılmamalıdır.
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 İşlemleri, kurumsal düzeyde ve standartlara uygun bir MQTT aracısı içerir. MQTT aracısı ölçeklenebilir, yüksek oranda kullanılabilir ve Kubernetes yereldir. IoT İşlemleri için mesajlaşma düzlemi sağlar, çift yönlü kenardan buluta iletişimi etkinleştirir ve uçta olay odaklı uygulamaları destekler.
MQTT uyumluluğu
MQTT, IoT alanında ortak bir protokoldür. Basit tasarımı, tek bir aracının basit yayımlama-abone olma konu oluşturma ve yönetimi ile aynı anda binlerce istemciye hizmet sunmasını sağlar. Birçok IoT cihazı MQTT'i yerel olarak destekler. Aşağı akış çeviri ağ geçitleri çeşitli IoT protokollerini MQTT'ye dönüştürür.
MQTT aracısı IoT İşlemlerinde mesajlaşma katmanını destekler ve MQTT v3.1.1 ve MQTT v5 ile uyumludur. Desteklenen MQTT özellikleri hakkında daha fazla bilgi için bkz . MQTT aracısında MQTT özellik desteği.
Mimari
MQTT aracısı iki ana katmana sahiptir:
- Durum bilgisi olmayan ön uç katmanı
- Durum bilgisi olan ve parçalı arka uç katmanı
Ön uç katmanı istemci bağlantılarını ve isteklerini işler ve bunları arka uçtan yönlendirir. Arka uç katmanı, istemci oturumları için istemci kimliği ve konu iletileri için konu adı gibi verileri anahtarlara göre bölümler. Arka uç katmanı, her bölüm içindeki verileri kopyalamak için zincir çoğaltmayı kullanır.
Mimarinin hedefleri şunlardır:
- Hataya dayanıklılık ve yalıtım: Arka uç podları başarısız olursa ve hatalar sistemin geri kalanına yayılmazsa ileti yayımlama devam eder.
- Hata kurtarma: Operatör müdahalesi olmadan otomatik hata kurtarma.
- İleti kaybı yok: Bir bölümdeki en az bir ön uç pod ve bir arka uç podu çalışıyorsa iletiler teslim edilir.
- Esnek ölçeklendirme: Yayımlama ve abone aktarım hızının yatay olarak ölçeklenmesi uç ve bulut dağıtımlarını destekler.
- Büyük ölçekte tutarlı performans: Zincir çoğaltması nedeniyle ileti gecikme süresi ek yükünü sınırlar.
- operasyonel kolaylık: Bakımı ve karmaşıklığı basitleştirmek için dış bileşenlere bağımlılığı azaltır.
Yapılandırma
MQTT aracısı yapılandırma için, aracının davranışının ve işlevselliğinin farklı yönlerini tanımlamak için birkaç Kubernetes özel kaynağı kullanır:
- Ana kaynak, kardinalite, bellek kullanım profili ve tanılama ayarları gibi genel ayarları tanımlayan Aracı'dır.
- Bir Aracı kaynağında, her biri belirtilen hizmet türündeki (,
NodePort
veyaLoadBalancer
) gelen MQTT bağlantılarını dinleyen en fazla üçClusterIP
olabilir. Her BrokerListener kaynağının birden çok bağlantı noktası olabilir. - BrokerListener kaynağındaki her bağlantı noktası bir BrokerAuthentication kaynağı ve BrokerAuthorization kaynağıyla ilişkilendirilebilir. Bu kimlik doğrulama ve yetkilendirme ilkeleri, hangi istemcilerin bağlantı noktasına bağlanabileceğini ve aracıda hangi eylemleri gerçekleştirebileceklerini belirler.
Broker ve BrokerListener arasındaki ilişki bire çok olurken, BrokerListener ile BrokerAuthentication/BrokerAuthorization arasındaki ilişki çoka çok olur. Bu kaynaklar için varlık ilişkisi diyagramı şöyledir:
Varsayılan olarak, IoT İşlemleri bir varsayılan Aracı, varsayılan BrokerListener ve varsayılan BrokerAuthentication dağıtır. Bu kaynakların tümü varsayılan olarak adlandırılır. Bu kaynaklar birlikte IoT İşlemlerinin çalışması için gereken temel bir MQTT aracı kurulumu sağlar. Varsayılan kurulum:
Önemli
IoT İşlemleri iç bileşenleri arasındaki iletişimi kesintiye uğratmamak için varsayılan yapılandırmaları değiştirmeyin.
MQTT aracı dağıtımını özelleştirmek için, varsayılan Aracıya BrokerListeners, BrokerAuthentication ve BrokerAuthorization gibi yeni kaynaklar ekleyin.
“Broker” kaynağı sabittir ve dağıtımdan sonra değiştirilemez, ancak yalnızca ileri düzey senaryolarda özelleştirme gerektirir. Aracı kaynağını özelleştirme hakkında daha fazla bilgi edinmek için bkz . Varsayılan Aracıyı özelleştirme.
Tam dağıtımda, her birinde birden çok bağlantı noktası bulunan birden çok BrokerListener'ınız olabilir ve her bağlantı noktasıyla ilişkilendirilmiş farklı BrokerAuthentication ve BrokerAuthorization kaynakları olabilir.
Örneğin, varsayılan kurulumdan başlayarak şunları eklersiniz:
- İki bağlantı noktası 1883 ve 8883 olan example-lb-listener adlı bir LoadBalancer BrokerListener.
- Tek bağlantı noktası 1884 ( 31884) ile example-nodeport-listener adlı
nodePort
. - Özel kimlik doğrulama yöntemiyle example-authn adlı bir BrokerAuthentication kaynağı.
- Özel yetkilendirme ayarlarınız ile example-authz adlı bir BrokerAuthorization kaynağı.
Tüm yeni bağlantı noktalarını aynı BrokerAuthentication ve BrokerAuthorization kaynaklarıyla yapılandırırsanız kurulum şöyle görünür:
Bu yaklaşım varsayılan kurulumu olduğu gibi tutar ve MQTT aracı dağıtımını özelleştirmek için yeni kaynaklar eklemenize olanak tanır.
Varsayılan Aracı kaynağı
Her IoT İşlemleri dağıtımı yalnızca bir aracıya sahip olabilir ve varsayılan olarak adlandırılmalıdır. IoT İşlemlerinin çalışması için varsayılan aracı kaynağı gereklidir. Sabittir ve dağıtımdan sonra değiştirilemez.
Dikkat
Varsayılan aracı kaynağını silmeyin. Bunun yapılması IoT İşlemleri iç bileşenleri arasındaki iletişimi kesintiye uğratır ve dağıtım çalışmayı durdurur.
Varsayılan Aracıyı özelleştirme
Çoğu kurulum için varsayılan aracı kaynağını özelleştirmek gerekmez. Özelleştirme gerektiren ayarlar şunlardır:
- Kardinalite: Aracının daha fazla bağlantı ve ileti işleme kapasitesini belirler ve pod veya düğüm hataları varsa yüksek kullanılabilirliği artırır.
- Bellek profili: Aracının en yüksek bellek kullanımını ve aracı ölçeği arttıkça bellek kullanımını işlemeyi ayarlar.
- Disk destekli ileti arabelleği: RAM dolduğunda iletileri diske arabelleğe almak için yapılandırma.
- Tanılama ayarları: Günlük düzeyi ve ölçüm uç noktası gibi tanılama ayarları için yapılandırma.
- Gelişmiş MQTT istemci seçenekleri: Oturum süre sonu, ileti süre sonu ve etkin tutma ayarları gibi gelişmiş MQTT istemci seçenekleri için yapılandırma.
- İç trafiğin şifrelenmesi: Aracı ön ucu ve arka uç podları arasındaki iç trafiği şifreleme yapılandırması.
Varsayılan aracıyı yalnızca ilk dağıtım sırasında Azure CLI veya Azure portalını kullanarak özelleştirebilirsiniz. Farklı aracı yapılandırma ayarlarına ihtiyacınız varsa yeni bir dağıtım gereklidir.
Dağıtım sırasında varsayılan Aracıyı özelleştirmek için:
IoT İşlemlerini dağıtmak için kılavuzu izlediğinizde, Yapılandırma bölümünde MQTT aracı yapılandırması bölümüne bakın. Burada kardinalite ve bellek profili ayarlarını özelleştirebilirsiniz. Disk destekli ileti arabelleği ve gelişmiş MQTT istemci seçenekleri de dahil olmak üzere diğer ayarları yapılandırmak için Azure CLI'yi kullanın.
Önemli
İlk dağıtımdan sonra aracı kaynağını güncelleştiremezsiniz. Dağıtım sonrası kardinalite, bellek profili veya disk arabelleğinde yapılandırma değişikliklerine izin verilmez.
Geçici bir çözüm olarak, az iot ops init komutuyla Daha fazla bilgi için bkz . Gelişmiş MQTT aracısı yapılandırması ve Çekirdek MQTT aracı ayarlarını yapılandırma.
Varsayılan Aracı ayarlarını görüntüleme
Varsayılan aracı ayarlarını görüntülemek için:
- Azure portalında IoT İşlemleri örneğine gidin.
- Bileşenler'in altında MQTT Aracısı'ni seçin.
- Aracı ayrıntıları'nın altında JSON görünümü'nü seçin.