Mulai Cepat: Menyebarkan Pratinjau Operasi Azure IoT ke kluster Kubernetes dengan dukungan Arc
Penting
Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam PRATINJAU. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan 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.
Dalam mulai cepat ini, Anda menyebarkan serangkaian layanan IoT ke kluster Kubernetes dengan dukungan Azure Arc sehingga Anda dapat mengelola perangkat dan beban kerja dari jarak jauh. Operasi Azure IoT adalah rangkaian layanan operasi digital yang mencakup Pratinjau Orkestrator Azure IoT. Mulai cepat ini memandu Anda menggunakan Orchestrator untuk menyebarkan layanan ini ke kluster Kubernetes. Di akhir mulai cepat, Anda memiliki kluster yang dapat Anda kelola dari cloud yang menghasilkan data sampel untuk digunakan dalam mulai cepat berikut.
Layanan yang disebarkan dalam mulai cepat ini meliputi:
- Pratinjau Azure IoT Orchestrator
- Pratinjau Azure IoT MQ
- Pratinjau Broker UA OPC Azure IoT dengan aset termostat simulasi untuk mulai menghasilkan data
- Pratinjau Prosesor Data Azure IoT dengan alur demo untuk mulai merutekan data yang disimulasikan
- Pratinjau Azure IoT Akri
- Pratinjau Azure Device Registry
- Pratinjau Manajemen Jaringan Berlapis Azure IoT
- Observability
Mulai cepat berikut dalam seri ini dibangun di seri ini untuk menentukan aset sampel, alur pemrosesan data, dan visualisasi. Jika Anda ingin menyebarkan Operasi Azure IoT ke kluster seperti AKS Edge Essentials untuk menjalankan beban kerja Anda sendiri, lihat Menyiapkan kluster Kubernetes dengan dukungan Azure Arc dan Menyebarkan ekstensi Pratinjau Operasi Azure IoT ke kluster Kubernetes.
Sebelum Anda mulai
Rangkaian mulai cepat ini dimaksudkan untuk membantu Anda memulai Operasi Azure IoT secepat mungkin sehingga Anda dapat mengevaluasi skenario end-to-end. Dalam lingkungan pengembangan atau produksi yang sebenarnya, tugas-tugas ini akan dilakukan oleh beberapa tim yang bekerja sama dan beberapa tugas mungkin memerlukan izin yang ditingkatkan.
Untuk pengalaman pengguna baru terbaik, sebaiknya gunakan akun gratis Azure sehingga Anda memiliki izin pemilik atas sumber daya dalam mulai cepat ini. Kami juga menyediakan langkah-langkah untuk menggunakan GitHub Codespaces sebagai lingkungan virtual di mana Anda dapat dengan cepat mulai menyebarkan sumber daya dan menjalankan perintah tanpa menginstal alat baru di komputer Anda sendiri.
Prasyarat
Untuk mulai cepat ini, Anda membuat kluster Kubernetes untuk menerima penyebaran Operasi Azure IoT.
Jika Anda ingin menjalankan ulang mulai cepat ini dengan kluster yang sudah memiliki Operasi Azure IoT yang disebarkan ke dalamnya, lihat langkah-langkah dalam Membersihkan sumber daya untuk menghapus instalasi Operasi Azure IoT sebelum melanjutkan.
Sebelum memulai, siapkan prasyarat berikut:
Langganan Azure. Jika Anda belum berlangganan Azure, buat akun gratis sebelum memulai.
Akun GitHub.
Visual Studio Code diinstal pada komputer pengembangan Anda. Untuk informasi selengkapnya, lihat Mengunduh Visual Studio Code.
Masalah apa yang akan kita pecahkan?
Azure IoT Operations adalah serangkaian layanan data yang berjalan pada kluster Kubernetes. Anda ingin kluster ini dikelola dari jarak jauh dari cloud, dan dapat berkomunikasi dengan sumber daya dan titik akhir cloud dengan aman. Kami mengatasi masalah ini dengan tugas-tugas berikut dalam mulai cepat ini:
- Buat kluster Kubernetes dan sambungkan ke Azure Arc untuk manajemen jarak jauh.
- Buat Azure Key Vault untuk mengelola rahasia untuk kluster Anda.
- Konfigurasikan kluster Anda dengan penyimpanan rahasia dan perwakilan layanan untuk berkomunikasi dengan sumber daya cloud.
- Sebarkan Operasi Azure IoT ke kluster Anda.
Koneksi kluster Kubernetes ke Azure Arc
Operasi Azure IoT harus bekerja pada kluster Kubernetes apa pun yang sesuai dengan standar Cloud Native Computing Foundation (CNCF). Untuk kecepatan dan kenyamanan, mulai cepat ini menggunakan GitHub Codespaces untuk menghosting kluster Anda.
Penting
Codespace mudah disiapkan dengan cepat dan dirobek nanti, tetapi tidak cocok untuk evaluasi performa atau pengujian skala. Gunakan GitHub Codespaces hanya untuk eksplorasi. Untuk mempelajari cara menyebarkan Operasi Azure IoT ke kluster produksi seperti AKS Edge Essentials, lihat Menyiapkan kluster Kubernetes dengan dukungan Azure Arc.
Di bagian ini, Anda membuat kluster baru dan menyambungkannya ke Azure Arc. Jika Anda ingin menggunakan kembali kluster yang telah Anda sebarkan Operasi Azure IoT sebelumnya, lihat langkah-langkah dalam Membersihkan sumber daya untuk menghapus instalasi Operasi Azure IoT sebelum melanjutkan.
Gunakan GitHub Codespaces untuk mencoba Operasi Azure IoT pada kluster Kubernetes tanpa menginstal apa pun di komputer lokal Anda. Ruang kode Azure-Samples/explore-iot-operations telah dikonfigurasi sebelumnya dengan:
- K3 yang berjalan di K3d untuk kluster Kubernetes ringan
- Azure CLI
- Kubectl untuk mengelola sumber daya Kubernetes
- Alat berguna lainnya seperti Helm dan k9s
Untuk membuat codespace dan kluster Anda, gunakan langkah-langkah berikut:
Buat codespace di GitHub Codespaces.
Berikan rahasia yang direkomendasikan berikut untuk codespace Anda:
Parameter Nilai SUBSCRIPTION_ID ID langganan Azure Anda. RESOURCE_GROUP Nama untuk grup sumber daya Azure baru tempat kluster Anda akan dibuat. LOKASI Wilayah Azure yang dekat dengan Anda. Wilayah berikut didukung dalam pratinjau publik: eastus, eastus2, westus, westus2, westus3, westeurope, atau northeurope. Tip
Nilai yang Anda berikan sebagai rahasia dalam langkah ini disimpan di akun GitHub Anda untuk digunakan dalam codespace ini dan yang akan datang. Variabel tersebut juga secara otomatis ditambahkan sebagai variabel lingkungan di terminal codespace, dan Anda dapat menggunakan variabel lingkungan tersebut dalam perintah CLI di bagian berikutnya.
Selain itu, codespace ini secara otomatis membuat
CLUSTER_NAME
variabel lingkungan yang diatur dengan nama codespace.Pilih Buat ruang kode baru.
Setelah codespace siap, pilih tombol menu di kiri atas, lalu pilih Buka di Visual Studio Code Desktop.
Jika diminta, instal ekstensi GitHub Codespaces untuk Visual Studio Code dan masuk ke GitHub.
Di Visual Studio Code, pilih Tampilkan>Terminal.
Gunakan terminal ini untuk menjalankan semua perintah baris perintah dan CLI untuk mengelola kluster Anda.
Untuk menyambungkan kluster Anda ke Azure Arc:
Di terminal codespace Anda, masuk ke Azure CLI:
az login
Tip
Jika Anda menggunakan lingkungan codespace GitHub di browser daripada desktop Visual Studio Code, menjalankan
az login
mengembalikan kesalahan localhost. Untuk memperbaiki kesalahan, baik:- Buka codespace di desktop VS Code, lalu kembali ke terminal browser dan jalankan
az login
ulang . - Atau, setelah Anda mendapatkan kesalahan localhost di browser, salin URL dari browser dan jalankan
curl "<URL>"
di tab terminal baru. Anda akan melihat respons JSON dengan pesan "Anda telah masuk ke Microsoft Azure!."
- Buka codespace di desktop VS Code, lalu kembali ke terminal browser dan jalankan
Atur konteks langganan Azure untuk semua perintah:
az account set -s $SUBSCRIPTION_ID
Daftarkan penyedia sumber daya yang diperlukan di langganan Anda:
Catatan
Langkah ini hanya perlu dijalankan sekali per langganan.
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"
Gunakan perintah az group create untuk membuat grup sumber daya di langganan Azure Anda untuk menyimpan semua sumber daya:
az group create --location $LOCATION --resource-group $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
Gunakan perintah az connectedk8s connect ke Arc-enable kluster Kubernetes Anda dan kelola sebagai bagian dari grup sumber daya Azure Anda:
az connectedk8s connect -n $CLUSTER_NAME -l $LOCATION -g $RESOURCE_GROUP --subscription $SUBSCRIPTION_ID
Tip
Nilai
$CLUSTER_NAME
secara otomatis diatur ke nama codespace Anda. Ganti variabel lingkungan jika Anda ingin menggunakan nama yang berbeda.objectId
Dapatkan aplikasi ID Microsoft Entra yang digunakan layanan Azure Arc dan simpan sebagai variabel lingkungan.export OBJECT_ID=$(az ad sp show --id bc313c14-388c-4e7d-a58e-70017303ee3b --query id -o tsv)
Gunakan perintah az connectedk8s enable-features untuk mengaktifkan dukungan lokasi kustom pada kluster Anda. Perintah ini menggunakan
objectId
aplikasi ID Microsoft Entra yang digunakan layanan Azure Arc.az connectedk8s enable-features -n $CLUSTER_NAME -g $RESOURCE_GROUP --custom-locations-oid $OBJECT_ID --features cluster-connect custom-locations
Memverifikasi kluster
Gunakan ekstensi Operasi Azure IoT untuk Azure CLI untuk memverifikasi bahwa host kluster Anda dikonfigurasi dengan benar untuk penyebaran dengan menggunakan perintah verify-host pada host kluster:
az iot ops verify-host
Perintah pembantu ini memeriksa konektivitas ke titik akhir Azure Resource Manager dan Microsoft Container Registry.
Menyebarkan Pratinjau Operasi Azure IoT
Di bagian ini, Anda menggunakan perintah az iot ops init untuk mengonfigurasi kluster Anda sehingga dapat berkomunikasi dengan aman dengan komponen Operasi Azure IoT dan brankas kunci Anda, lalu menyebarkan Operasi Azure IoT.
Jalankan perintah CLI berikut di terminal Codespaces Anda.
Membuat brankas kunci. Untuk skenario ini, kami akan menggunakan nama dan grup sumber daya yang sama dengan kluster Anda. Nama keyvault memiliki panjang maksimum 24 karakter, sehingga perintah berikut memotong
CLUSTER_NAME
variabel lingkungan jika perlu.az keyvault create --enable-rbac-authorization false --name ${CLUSTER_NAME:0:24} --resource-group $RESOURCE_GROUP
Tip
Anda dapat menggunakan brankas kunci yang ada untuk rahasia Anda, tetapi verifikasi bahwa model Izin diatur ke kebijakan akses Vault. Anda dapat memeriksa pengaturan ini di portal Azure di bagian Konfigurasi akses dari brankas kunci yang ada. Atau gunakan perintah az keyvault show untuk memeriksa apakah
enableRbacAuthorization
salah.Menyebarkan Operasi Azure IoT. Perintah ini membutuhkan waktu beberapa menit untuk diselesaikan:
az iot ops init --simulate-plc --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --kv-id $(az keyvault show --name ${CLUSTER_NAME:0:24} -o tsv --query id)
Jika Anda mendapatkan kesalahan yang mengatakan perangkat Anda harus dikelola untuk mengakses sumber daya Anda, jalankan
az login
lagi dan pastikan Anda masuk secara interaktif dengan browser.Tip
Jika Anda telah menjalankan
az iot ops init
sebelumnya, aplikasi tersebut secara otomatis membuat pendaftaran aplikasi di ID Microsoft Entra untuk Anda. Anda dapat menggunakan kembali pendaftaran tersebut daripada membuat yang baru setiap kali. Untuk menggunakan pendaftaran aplikasi yang ada, tambahkan parameter--sp-app-id <APPLICATION_CLIENT_ID>
opsional .
Melihat sumber daya di kluster Anda
Saat penyebaran sedang berlangsung, Anda dapat menonton sumber daya yang diterapkan ke kluster Anda. Anda dapat menggunakan perintah kubectl untuk mengamati perubahan pada kluster atau, karena kluster diaktifkan Arc, Anda dapat menggunakan portal Azure.
Untuk melihat pod pada kluster Anda, jalankan perintah berikut:
kubectl get pods -n azure-iot-operations
Diperlukan waktu beberapa menit agar penyebaran selesai. Lanjutkan get pods
menjalankan perintah untuk me-refresh tampilan Anda.
Untuk melihat kluster Anda di portal Azure, gunakan langkah-langkah berikut:
Di portal Azure, navigasikan ke grup sumber daya yang berisi kluster Anda.
Dari Gambaran Umum grup sumber daya, pilih nama kluster Anda.
Pada kluster Anda, pilih Ekstensi dari bagian Pengaturan menu.
Anda dapat melihat bahwa kluster Anda menjalankan ekstensi jenis microsoft.iotoperations.x, yang merupakan nama grup untuk semua komponen Operasi Azure IoT dan layanan orkestrasi. Ekstensi ini memiliki akhiran unik yang mengidentifikasi penyebaran Anda. Pada cuplikan layar sebelumnya, akhiran ini adalah -z2ewy.
Ada juga ekstensi yang disebut akvsecretsprovider. Ekstensi ini adalah penyedia rahasia yang Anda konfigurasi dan instal pada kluster Anda dengan
az iot ops init
perintah . Anda dapat menghapus dan menginstal ulang komponen Operasi Azure IoT selama pengujian, tetapi menyimpan ekstensi penyedia rahasia di kluster Anda.Catat nama lengkap ekstensi yang disebut mq-.... Anda menggunakan nama ini dalam mulai cepat berikut.
Bagaimana kita memecahkan masalah?
Dalam mulai cepat ini, Anda mengonfigurasi kluster Kubernetes dengan dukungan Arc sehingga dapat berkomunikasi dengan aman dengan komponen Operasi Azure IoT Anda. Kemudian, Anda menyebarkan komponen tersebut ke kluster Anda. Untuk skenario pengujian ini, Anda memiliki satu kluster Kubernetes yang mungkin berjalan secara lokal di komputer Anda. Namun, dalam skenario produksi, Anda dapat menggunakan langkah yang sama untuk menyebarkan beban kerja ke banyak kluster di banyak situs.
Membersihkan sumber daya
Jika Anda melanjutkan ke mulai cepat berikutnya, simpan semua sumber daya Anda.
Jika Anda ingin menghapus penyebaran Operasi Azure IoT tetapi berencana menginstalnya kembali di kluster Anda, pastikan untuk menyimpan penyedia rahasia di kluster Anda.
Di grup sumber daya Anda di portal Azure, pilih kluster Anda.
Pada halaman sumber daya kluster Anda, pilih Ekstensi.
Pilih semua ekstensi jenis microsoft.iotoperations.x dan microsoft.deviceregistry.assets, lalu pilih Hapus instalan. Jangan hapus instalan ekstensi penyedia rahasia.
Kembali ke grup sumber daya Anda dan pilih sumber daya lokasi kustom, lalu pilih Hapus.
Jika Anda ingin menghapus semua sumber daya yang Anda buat untuk mulai cepat ini, hapus kluster Kubernetes tempat Anda menyebarkan Operasi Azure IoT dan hapus grup sumber daya Azure yang berisi kluster.