Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Penting
Halaman ini mencakup instruksi untuk mengelola komponen Azure IoT Operations menggunakan manifes penyebaran Kubernetes, yang sedang dalam pratinjau. Fitur ini disediakan dengan beberapa batasan, dan tidak boleh digunakan untuk beban kerja produksi.
Lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure untuk persyaratan hukum yang berlaku pada fitur Azure dalam versi beta, pratinjau, atau belum dirilis secara umum.
Operasi Azure IoT mencakup broker MQTT yang sesuai dengan tingkat perusahaan dan standar. Broker MQTT dapat diskalakan, memiliki berketersediaan tinggi, dan terintegrasi dengan Kubernetes. Ini menyediakan bidang olahpesan untuk Operasi IoT, memungkinkan komunikasi tepi-ke-cloud dua arah, dan mendukung aplikasi berbasis peristiwa di tepi.
Kepatuhan MQTT
MQTT adalah protokol umum di ruang IoT. Desainnya yang sederhana memungkinkan satu broker melayani ribuan klien secara bersamaan dengan pembuatan dan manajemen topik terbitkan-berlangganan yang ringan. Banyak perangkat IoT secara asli mendukung MQTT. Gateway terjemahan hilir mengonversi berbagai protokol IoT menjadi MQTT.
Broker MQTT mendukung lapisan olahpesan dalam Operasi IoT dan kompatibel dengan MQTT v3.1.1 dan MQTT v5. Untuk informasi selengkapnya tentang fitur MQTT yang didukung, lihat Dukungan fitur MQTT di broker MQTT.
Arsitektur
Broker MQTT memiliki dua lapisan utama:
- Lapisan frontend tanpa status
- Lapisan backend yang stateful dan terpisah-pisah
Lapisan frontend menangani koneksi dan permintaan klien, dan merutekannya ke backend. Lapisan backend mempartisi data berdasarkan kunci, seperti ID klien untuk sesi klien dan nama topik untuk pesan topik. Lapisan backend menggunakan replikasi rantai untuk menyalin data dalam setiap partisi.
Tujuan arsitekturnya adalah:
- Toleransi kesalahan dan isolasi: Penerbitan pesan tetap berlanjut meskipun ada kegagalan pada pod backend, dan kegagalan tersebut tidak menyebar ke bagian lain dari sistem.
- Pemulihan kegagalan: Pemulihan kegagalan otomatis tanpa intervensi operator.
- Tidak ada pesan yang hilang: Pesan dikirimkan jika setidaknya satu pod frontend dan satu pod backend dalam partisi sedang berjalan.
- Penskalaan elastis: Penskalaan horizontal penerbitan dan berlangganan throughput mendukung penyebaran tepi dan cloud.
- Performa konsisten dalam skala besar: Membatasi overhead latensi pesan karena replikasi rantai.
- Kesederhanaan operasional: Mengurangi dependensi pada komponen eksternal untuk menyederhanakan pemeliharaan dan kompleksitas.
Konfigurasi
Untuk konfigurasi, broker MQTT menggunakan beberapa sumber daya kustom Kubernetes untuk menentukan berbagai aspek perilaku dan fungsionalitas broker:
- Sumber daya utamanya adalah Broker, yang mendefinisikan pengaturan global seperti kardinalitas, profil penggunaan memori, dan pengaturan diagnostik.
- Sumber daya Broker dapat memiliki hingga tiga BrokerListeners, yang masing-masing mendengarkan koneksi MQTT masuk pada jenis layanan yang ditentukan (
NodePort
,LoadBalancer
, atauClusterIP
). Setiap sumber daya BrokerListener dapat memiliki beberapa port. - Setiap port dalam sumber daya BrokerListener dapat dikaitkan dengan sumber daya BrokerAuthentication dan sumber daya BrokerAuthorization . Kebijakan autentikasi dan otorisasi ini menentukan klien mana yang dapat terhubung ke port dan tindakan apa yang dapat mereka lakukan pada broker.
Hubungan antara Broker dan BrokerListener adalah satu-ke-banyak, sementara hubungan antara BrokerListener dan BrokerAuthentication/BrokerAuthorization adalah banyak-ke-banyak. Diagram hubungan entitas untuk sumber daya ini adalah:
Secara bawaan, IoT Operations menyebarkan Broker, BrokerListener, dan BrokerAuthentication default. Semua sumber daya ini diberi nama default. Bersama-sama, sumber daya ini menyediakan pengaturan broker MQTT dasar yang diperlukan agar Operasi IoT berfungsi. Pengaturan defaultnya adalah:
Penting
Untuk menghindari gangguan komunikasi antara komponen internal IoT Operations, jangan ubah konfigurasi default apa pun.
Untuk menyesuaikan penyebaran broker MQTT, tambahkan sumber daya baru seperti BrokerListeners, BrokerAuthentication, dan BrokerAuthorization ke Broker default.
Sumber daya Broker tidak dapat diubah dan tidak dapat dimodifikasi setelah penyebaran, tetapi hanya memerlukan penyesuaian dalam skenario lanjutan. Untuk mempelajari selengkapnya tentang menyesuaikan sumber daya Broker, lihat Menyesuaikan Broker default.
Dalam penyebaran penuh, Anda dapat memiliki beberapa BrokerListeners, masing-masing dengan beberapa port, dan setiap port dapat memiliki sumber daya BrokerAuthentication dan BrokerAuthorization yang berbeda yang terkait dengannya.
Misalnya, mulai dari pengaturan default, Anda menambahkan:
- LoadBalancer BrokerListener bernama example-lb-listener, dengan dua port 1883 dan 8883.
- NodePort BrokerListener bernama example-nodeport-listener, dengan port tunggal 1884 (
nodePort
31884). - Sumber daya BrokerAuthentication bernama example-authn, dengan metode autentikasi kustom.
- Sumber daya BrokerAuthorization bernama example-authz, dengan pengaturan otorisasi kustom Anda.
Jika Anda mengonfigurasi semua port baru dengan sumber daya BrokerAuthentication dan BrokerAuthorization yang sama, pengaturannya terlihat seperti ini:
Pendekatan ini menjaga pengaturan default tetap utuh dan memungkinkan Anda menambahkan sumber daya baru untuk menyesuaikan penyebaran broker MQTT.
Sumber daya Broker Default
Setiap penyebaran Operasi IoT hanya dapat memiliki satu broker, dan harus diberi nama default. Sumber daya broker default diperlukan agar Operasi IoT berfungsi. Ini tidak dapat diubah dan tidak dapat dimodifikasi setelah penyebaran.
Perhatian
Jangan hapus sumber daya broker default. Melakukannya akan mengganggu komunikasi antara komponen internal pengoperasian IoT, dan pengoperasian tidak dapat berfungsi.
Menyesuaikan default Broker
Menyesuaikan sumber daya broker default tidak diperlukan untuk sebagian besar penyiapan. Pengaturan yang memerlukan penyesuaian meliputi:
- Kardinalitas: Menentukan kapasitas broker untuk menangani lebih banyak koneksi dan pesan, dan meningkatkan availabilitas tinggi jika ada kegagalan pod atau simpul.
- Profil memori: Mengatur penggunaan memori maksimum broker dan cara menangani penggunaan memori saat kapasitas broker meningkat.
- Buffer pesan yang didukung disk: Konfigurasi untuk buffer pesan ke disk saat RAM terisi.
- Pengaturan diagnostik: Konfigurasi untuk pengaturan diagnostik seperti tingkat log dan titik akhir metrik.
- Opsi klien MQTT tingkat lanjut: Konfigurasi untuk opsi klien MQTT tingkat lanjut seperti kedaluwarsa sesi, kedaluwarsa pesan, dan pengaturan tetap aktif.
- Enkripsi Lalu Lintas Internal: Konfigurasi untuk mengenkripsi lalu lintas internal antara pod frontend dan backend broker.
Anda dapat menyesuaikan broker default hanya selama penyebaran awal, dengan menggunakan Azure CLI atau portal Microsoft Azure. Penyebaran baru diperlukan jika Anda memerlukan pengaturan konfigurasi broker yang berbeda.
Untuk mengkustomisasi pengaturan Broker default selama proses penyebaran:
Saat Anda mengikuti panduan untuk menyebarkan Operasi IoT, di bagian Konfigurasi, lihat di bawah Konfigurasi broker MQTT. Di sini, Anda dapat menyesuaikan pengaturan profil kardinalitas dan memori. Untuk mengonfigurasi pengaturan lain, termasuk buffer pesan yang didukung disk, dan opsi klien MQTT tingkat lanjut, gunakan Azure CLI.
Penting
Anda tidak dapat memperbarui sumber daya broker setelah penyebaran awal. Perubahan konfigurasi pada kardinalitas, profil memori, atau buffer disk tidak diizinkan pasca-penyebaran.
Sebagai solusinya, saat menyebarkan Operasi Azure IoT dengan perintah az iot ops init , Anda dapat menyertakan --broker-config-file
parameter dengan file konfigurasi JSON untuk broker MQTT. Untuk informasi selengkapnya, lihat Konfigurasi broker MQTT Tingkat Lanjut dan Mengonfigurasi pengaturan broker MQTT inti.
Lihat pengaturan Broker default
Untuk melihat pengaturan untuk broker default:
- Di portal Azure, buka instans Operasi IoT Anda.
- Di bawah Komponen, pilih MQTT Broker.
- Di bawah Detail broker, pilih tampilan JSON.