Mulai Cepat: Menjalankan Pratinjau Operasi Azure IoT di GitHub Codespaces dengan K3s
Penting
Pratinjau Operasi Azure IoT – diaktifkan oleh Azure Arc saat ini dalam pratinjau. Anda tidak boleh menggunakan perangkat lunak pratinjau ini di lingkungan produksi.
Anda harus menyebarkan penginstalan Azure IoT Operations baru saat rilis yang tersedia secara umum tersedia. Anda tidak akan dapat memutakhirkan penginstalan pratinjau.
Untuk persyaratan hukum yang berlaku untuk fitur Azure yang beta, dalam pratinjau, atau belum dirilis ke ketersediaan umum, lihat Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure.
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. 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.
Mulai cepat lainnya dalam seri end-to-end ini dibangun di atasnya untuk menentukan aset sampel, alur pemrosesan data, dan visualisasi.
Jika Anda ingin menyebarkan Operasi Azure IoT ke kluster lokal seperti Azure Kubernetes Service Edge Essentials atau K3s di Ubuntu, lihat Detail penyebaran.
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, beberapa tim bekerja sama melakukan tugas-tugas ini 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 menggunakan kembali kluster yang sudah memiliki Operasi Azure IoT yang disebarkan ke kluster tersebut, 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.
Izin Microsoft.Authorization/roleAssignments/write di tingkat grup sumber daya.
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 registri skema.
- Sebarkan Operasi Azure IoT ke kluster Anda.
Menyambungkan kluster Kubernetes ke Azure Arc
Operasi Azure IoT mendukung Azure Kubernetes Service (AKS) Edge Essentials dan K3s pada kluster Ubuntu. Namun, untuk kecepatan dan kenyamanan, mulai cepat ini menggunakan GitHub Codespaces untuk menghosting kluster Anda.
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 di Windows atau Ubuntu, 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 Anda sebarkan Operasi Azure IoT ke 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. LOCATION Wilayah Azure yang dekat dengan Anda. Untuk daftar wilayah yang saat ini didukung, lihat Wilayah yang didukung. 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 ditambahkan sebagai variabel lingkungan di terminal codespace, dan Anda dapat menggunakan variabel lingkungan tersebut dalam perintah CLI di bagian berikutnya.
Selain itu, codespace ini 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 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
Setelah Anda masuk, Azure CLI menampilkan semua langganan Anda dan menunjukkan langganan default Anda dengan tanda bintang
*
. Untuk melanjutkan langganan default Anda, pilihEnter
. Jika tidak, ketik jumlah langganan Azure yang ingin Anda gunakan.Daftarkan penyedia sumber daya yang diperlukan di langganan Anda:
Catatan
Langkah ini hanya perlu dijalankan sekali per langganan. Untuk mendaftarkan penyedia sumber daya, Anda memerlukan izin untuk melakukan
/register/action
operasi, yang disertakan dalam peran Kontributor langganan dan Pemilik. Untuk informasi selengkapnya, lihat Penyedia dan jenis sumber daya Azure.az provider register -n "Microsoft.ExtendedLocation" az provider register -n "Microsoft.Kubernetes" az provider register -n "Microsoft.KubernetesConfiguration" az provider register -n "Microsoft.IoTOperations" az provider register -n "Microsoft.DeviceRegistry" az provider register -n "Microsoft.SecretSyncController"
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
Gunakan perintah az connectedk8s connect ke Arc-enable kluster Kubernetes Anda dan kelola sebagai bagian dari grup sumber daya Azure Anda:
az connectedk8s connect --name $CLUSTER_NAME --location $LOCATION --resource-group $RESOURCE_GROUP
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 di penyewa Anda dan simpan sebagai variabel lingkungan. Jalankan perintah berikut persis seperti yang ditulis, tanpa mengubah nilai GUID.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
Membuat akun penyimpanan dan registri skema
Operasi Azure IoT memerlukan registri skema pada kluster Anda. Registri skema memerlukan akun penyimpanan Azure sehingga dapat menyinkronkan informasi skema antara cloud dan tepi.
Perintah untuk membuat registri skema di bagian ini memerlukan izin Microsoft.Authorization/roleAssignments/write di tingkat grup sumber daya.
Jalankan perintah CLI berikut di terminal Codespaces Anda.
Atur variabel lingkungan untuk sumber daya yang Anda buat di bagian ini.
Placeholder Nilai <STORAGE_ACCOUNT_NAME> Nama untuk akun penyimpanan Anda. Panjang nama akun penyimpanan harus antara 3 dan 24 karakter dan hanya berisi angka dan huruf kecil. <SCHEMA_REGISTRY_NAME> Nama untuk registri skema Anda. <SCHEMA_REGISTRY_NAMESPACE> Nama untuk namespace registri skema Anda. Namespace secara unik mengidentifikasi registri skema dalam penyewa. export STORAGE_ACCOUNT=<STORAGE_ACCOUNT_NAME> export SCHEMA_REGISTRY=<SCHEMA_REGISTRY_NAME> export SCHEMA_REGISTRY_NAMESPACE=<SCHEMA_REGISTRY_NAMESPACE>
Buat akun penyimpanan dengan namespace hierarki diaktifkan.
az storage account create --name $STORAGE_ACCOUNT --location $LOCATION --resource-group $RESOURCE_GROUP --enable-hierarchical-namespace
Buat registri skema yang tersambung ke akun penyimpanan Anda. Perintah ini juga membuat kontainer blob yang disebut skema di akun penyimpanan jika belum ada.
az iot ops schema registry create --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP --registry-namespace $SCHEMA_REGISTRY_NAMESPACE --sa-resource-id $(az storage account show --name $STORAGE_ACCOUNT -o tsv --query id)
Menyebarkan Pratinjau Operasi Azure IoT
Di bagian ini, Anda mengonfigurasi kluster dengan dependensi untuk komponen Operasi Azure IoT Anda, lalu menyebarkan Operasi Azure IoT.
Jalankan perintah CLI berikut di terminal Codespaces Anda.
Inisialisasi kluster Anda untuk Operasi Azure IoT.
Tip
Perintah
init
hanya perlu dijalankan sekali per kluster. Jika Anda menggunakan kembali kluster yang sudah memiliki Azure IoT Operations versi 0.8.0 yang disebarkan di dalamnya, Anda dapat melewati langkah ini.az iot ops init --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Perintah ini mungkin memerlukan waktu beberapa menit untuk diselesaikan. Anda dapat melihat kemajuan dalam tampilan kemajuan penyebaran di terminal.
Menyebarkan Operasi Azure IoT. Perintah ini membutuhkan waktu beberapa menit untuk diselesaikan:
az iot ops create --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP --name ${CLUSTER_NAME}-instance --sr-resource-id $(az iot ops schema registry show --name $SCHEMA_REGISTRY --resource-group $RESOURCE_GROUP -o tsv --query id) --broker-frontend-replicas 1 --broker-frontend-workers 1 --broker-backend-part 1 --broker-backend-workers 1 --broker-backend-rf 2 --broker-mem-profile Low
Perintah ini mungkin memerlukan waktu beberapa menit untuk diselesaikan. Anda dapat melihat kemajuan dalam tampilan kemajuan penyebaran di terminal.
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.
Melihat sumber daya di kluster Anda
Saat penyebaran sedang berlangsung, antarmuka kemajuan CLI menunjukkan kepada Anda tahap penyebaran tempat Anda berada. Setelah penyebaran selesai, 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
Untuk melihat sumber daya Anda di portal Azure, gunakan langkah-langkah berikut:
Di portal Azure, buka grup sumber daya yang berisi instans Azure IoT Operations Anda, atau cari dan pilih Operasi Azure IoT.
Pilih nama instans Azure IoT Operations Anda.
Pada halaman Gambaran Umum instans Anda, tab Ekstensi Arc menampilkan sumber daya yang disebarkan ke kluster Anda.
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 mempertahankan kluster Anda, gunakan perintah az iot ops delete :
az iot ops delete --cluster $CLUSTER_NAME --resource-group $RESOURCE_GROUP
Jika Anda ingin menghapus semua sumber daya yang Anda buat untuk mulai cepat ini, hapus kluster Kubernetes tempat Anda menyebarkan Operasi Azure IoT lalu hapus grup sumber daya Azure yang berisi kluster.
Jika Anda menggunakan Codespace untuk mulai cepat ini, hapus Codespace Anda dari GitHub.