Instal ekstensi Dapr untuk Azure Kubernetes Service (AKS) dan Kubernetes dengan dukungan Arc

Dapr menyederhanakan pembangunan aplikasi tangguh, tak berstatus, dan stateful yang berjalan di cloud dan edge serta merangkul keragaman bahasa dan kerangka pengembang. Dengan arsitektur sidecar Dapr, Anda dapat memastikan kode Anda tetap netral terhadap platform sambil mengatasi tantangan terkait pengembangan arsitektur layanan mikro, seperti:

  • Memanggil layanan lain dengan andal dan aman
  • Membangun aplikasi berbasis peristiwa dengan pub/sub
  • Membangun aplikasi yang portabel di beberapa layanan dan host cloud (misalnya, Kubernetes vs. komputer virtual)

Catatan

Jika Anda berencana untuk menginstal Dapr di lingkungan produksi Kubernetes, lihat panduan produksi Dapr.

Cara kerjanya

Ekstensi Dapr menggunakan Azure CLI atau templat Bicep untuk menyediakan sarana kontrol Dapr pada kluster Kubernetes dengan dukungan AKS atau Arc, membuat layanan Dapr berikut:

Layanan Dapr Deskripsi
dapr-operator Mengelola pemutakhiran komponen dan titik akhir layanan Kubernetes untuk Dapr (penyimpanan status, pub/sub, dll.)
dapr-sidecar-injector Menyuntikkan Dapr ke dalam pod deployment yang dianotasi dan menambahkan variabel lingkungan DAPR_HTTP_PORT dan DAPR_GRPC_PORT untuk memungkinkan aplikasi yang didefinisikan oleh pengguna berkomunikasi dengan mudah dengan Dapr tanpa harus meng-hardcode nilai port Dapr.
dapr-placement Digunakan hanya untuk aktor. Membuat tabel pemetaan yang memetakan instans aktor ke pod.
dapr-sentry Mengelola mTLS antara layanan dan bertindak sebagai otoritas sertifikat. Untuk informasi selengkapnya, baca gambaran umum keamanan.

Setelah Dapr diinstal di kluster, Anda dapat mulai mengembangkan menggunakan API blok penyusun Dapr dengan menambahkan beberapa anotasi ke penerapan Anda. Untuk gambaran umum yang lebih mendalam tentang API blok pembangun dan cara terbaik untuk menggunakannya, lihat Gambaran umum blok pembangun Dapr.

Peringatan

Jika Anda menginstal Dapr melalui ekstensi Kubernetes AKS atau Arc-enabled, rekomendasi kami adalah terus menggunakan ekstensi untuk pengelolaan Dapr di masa mendatang, bukan Dapr CLI. Menggabungkan kedua alat dapat menyebabkan konflik dan mengakibatkan perilaku yang tidak diinginkan.

Prasyarat

Pilih bagaimana Anda ingin menginstal, menyebarkan, dan mengonfigurasi ekstensi Dapr.

Sebelum Anda mulai

Menambahkan ekstensi Azure CLI untuk ekstensi kluster

k8s-extension Instal ekstensi Azure CLI dengan menjalankan perintah berikut:

az extension add --name k8s-extension

Jika ekstensi k8s-extension sudah diinstal, Anda dapat memperbaruinya ke versi terbaru menggunakan perintah berikut:

az extension update --name k8s-extension

Daftarkan KubernetesConfiguration penyedia sumber daya

Jika Anda belum menggunakan ekstensi kluster, Anda mungkin perlu mendaftarkan penyedia sumber daya dengan langganan Anda. Anda dapat memeriksa status pendaftaran penyedia menggunakan perintah az provider list , seperti yang ditunjukkan dalam contoh berikut:

az provider list --query "[?contains(namespace,'Microsoft.KubernetesConfiguration')]" -o table

Penyedia Microsoft.KubernetesConfiguration harus dalam status Terdaftar, seperti yang ditunjukkan dalam contoh output berikut:

Namespace                          RegistrationState    RegistrationPolicy
---------------------------------  -------------------  --------------------
Microsoft.KubernetesConfiguration  Registered           RegistrationRequired

Jika penyedia menunjukkan sebagai TidakTerdaftar, daftarkan penyedia menggunakan register penyedia az seperti yang ditunjukkan dalam contoh berikut:

az provider register --namespace Microsoft.KubernetesConfiguration

Daftarkan fitur ke ExtensionTypes langganan Azure Anda

Fitur ExtensionTypes ini perlu didaftarkan ke langganan Azure Anda. Di terminal, verifikasi bahwa Anda berada dalam langganan yang benar:

az account set --subscription <your-azure-subscription-ID>

Daftarkan ExtensionTypes fitur.

az feature registration create --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

Pendaftaran fitur mungkin memakan waktu. Setelah beberapa menit, periksa status pendaftaran menggunakan perintah berikut:

az feature show --namespace Microsoft.KubernetesConfiguration --name ExtensionTypes

Buat ekstensi dan instal Dapr di kluster Kubernetes AKS atau Arc-enabled Anda

Saat menginstal ekstensi Dapr, gunakan nilai bendera yang sesuai dengan jenis kluster Anda:

  • Kluster AKS: --cluster-type managedClusters
  • Kluster Kubernetes dengan dukungan Arc: --cluster-type connectedClusters

Catatan

Jika Anda menggunakan Dapr OSS pada kluster AKS dan ingin menginstal ekstensi Dapr untuk AKS, lihat Migrasi dari DAPR OSS ke ekstensi Dapr.

Buat ekstensi Dapr, yang menginstal Dapr pada kluster Kubernetes yang didukung AKS atau Arc.

Misalnya, instal dapr versi terbaru melalui ekstensi Dapr pada kluster AKS Anda:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false

Pastikan kluster AKS terkelola Anda selalu diperbarui ke versi terbaru

Berdasarkan lingkungan Anda (dev, test, atau production), Anda dapat terus memperbarui versi Dapr stabil terbaru.

Pilih jadwal rilis

Saat mengonfigurasi ekstensi, Anda dapat memilih untuk menginstal Dapr dari kereta rilis tertentu. Tentukan salah satu dari dua nilai jalur rilis:

Nilai Deskripsi
stable Bawaan
dev Rilis awal yang dapat berisi fitur eksperimental. Tidak cocok untuk produksi.

Contohnya:

--release-train stable

Mengonfigurasi pembaruan otomatis ke sarana kontrol Dapr

Peringatan

Peningkatan otomatis tidak cocok untuk lingkungan produksi. Hanya aktifkan pembaruan otomatis ke sarana kontrol Dapr di lingkungan pengembangan atau pengujian. Pelajari cara meningkatkan secara manual ke versi Dapr terbaru untuk lingkungan produksi.

Jika Anda menginstal Dapr tanpa menentukan versi, --auto-upgrade-minor-versiondiaktifkan secara otomatis, yang mengonfigurasi sarana kontrol Dapr untuk memperbarui versi minornya secara otomatis pada rilis baru.

Anda dapat menonaktifkan pembaruan otomatis dengan menentukan --auto-upgrade-minor-version parameter dan mengatur nilai ke false.

Versi Dapr menggunakan format MAJOR.MINOR.PATCH, yang berarti peningkatan versi dari 1.11.0 ke 1.12.0 adalah peningkatan minor.

--auto-upgrade-minor-version true

Lihat versi Dapr stabil terbaru yang tersedia

Untuk meningkatkan ke versi Dapr terbaru di lingkungan produksi, Anda perlu meningkatkan secara manual. Mulailah dengan melihat daftar versi Dapr stabil yang tersedia untuk kluster AKS terkelola Anda. Jalankan perintah berikut:

az k8s-extension extension-types list-versions-by-cluster --resource-group <your-resource-group> --cluster-name <your-AKS-cluster> --cluster-type managedClusters --extension-type microsoft.dapr --release-train stable

Untuk melihat versi Dapr stabil terbaru yang tersedia untuk kluster AKS terkelola Anda, jalankan perintah berikut:

az k8s-extension extension-types list-versions-by-cluster --resource-group <your-resource-group> --cluster-name <your-AKS-cluster> --cluster-type managedClusters --extension-type microsoft.dapr  --release-train stable --show-latest

Untuk melihat daftar versi Dapr stabil yang tersedia berdasarkan lokasi:

  1. Pastikan Anda telah mendaftarkan fitur ke ExtensionTypes langganan Azure Anda.
  2. Jalankan perintah berikut.
az k8s-extension extension-types list-versions-by-location --location westus --extension-type microsoft.dapr

Menargetkan versi Dapr tertentu

Selanjutnya, perbarui Dapr secara manual ke versi stabil terbaru.

Catatan

Dapr didukung dengan rentang waktu bergulir, yang hanya mencakup versi saat ini dan sebelumnya. Merupakan tanggung jawab tim operasional Anda untuk tetap mengikuti perkembangan versi yang didukung ini. Jika Anda memiliki versi Dapr yang lebih lama, Anda mungkin perlu melakukan peningkatan menengah untuk masuk ke versi yang didukung.

Argumen baris perintah yang sama digunakan untuk menginstal versi Dapr tertentu atau mengembalikan ke versi sebelumnya. Atur --auto-upgrade-minor-version ke false dan --version ke versi Dapr yang ingin Anda instal. Jika parameterversion tidak disebutkan, ekstensi menginstal Dapr versi terbaru. Contoh perintah berikut menginstal versi 1.14.4-msft.10 Dapr pada kluster AKS Anda:

az k8s-extension create --cluster-type managedClusters \
--cluster-name <your-AKS-cluster> \
--resource-group <your-resource-group> \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version false \
--version 1.14.4-msft.10

Pemecahan masalah

Memecahkan masalah kesalahan manajemen ekstensi

Jika ekstensi gagal membuat atau memperbarui, coba saran dan solusi di panduan pemecahan masalah ekstensi Dapr.

Memecahkan masalah kesalahan operasional Dapr

Memecahkan masalah kesalahan sumber terbuka Dapr yang tidak terkait dengan ekstensi dengan melihat masalah Dapr umum dan panduan solusi.

Dukungan

Jika Anda mengalami risiko dan regresi keamanan runtime Dapr saat menggunakan ekstensi, buka masalah dengan proyek sumber terbuka Dapr.

Anda juga dapat memulai diskusi dalam proyek Dapr Discord:

Menghapus ekstensi Dapr dari kluster Anda

Proses menghapus instalan ekstensi Dapr dari AKS tidak menghapus definisi sumber daya kustom (CRD) yang dibuat selama penginstalan. CRD ini tetap berada di kluster sebagai komponen residu yang penting untuk rekonsilier selama instalasi dan penghapusan ekstensi.

Untuk membersihkan kluster CRD ini, Anda dapat menghapusnya secara manual setelah ekstensi Dapr benar-benar dihapus dari AKS.

Menghapus instalan ekstensi

Hapus ekstensi dari kluster AKS Anda dengan menggunakan perintah berikut:

az k8s-extension delete --resource-group <your-resource-group> --cluster-name <your-AKS-cluster> --cluster-type managedClusters --name dapr

Atau, jika menggunakan templat Bicep, Anda dapat menghapus templat.

Daftarkan CRD di kluster Anda

Untuk menemukan CRD yang ingin Anda hapus, jalankan perintah berikut:

kubectl get crds | findstr dapr.io

Langkah selanjutnya