Mengonfigurasi ekstensi Dapr untuk proyek Azure Kubernetes Service (AKS) dan Kubernetes dengan dukungan Arc
Setelah menyelesaikan prasyarat untuk menginstal ekstensi Dapr, Anda dapat mengonfigurasi ekstensi Dapr agar berfungsi paling baik untuk Anda dan proyek Anda menggunakan berbagai opsi konfigurasi, seperti:
- Memutar sertifikat yang kedaluwarsa
- Provisi Dapr dengan ketersediaan tinggi (HA) diaktifkan
- Membatasi simpul mana yang menggunakan ekstensi Dapr
- Mengatur pembaruan definisi sumber daya kustom otomatis (CRD)
- Mengonfigurasi namespace rilis Dapr
Ekstensi ini memungkinkan Anda mengatur opsi konfigurasi Dapr dengan menggunakan --configuration-settings
parameter di Azure CLI atau configurationSettings
properti dalam templat Bicep.
Ekstensi Dapr mendukung enkripsi komunikasi dalam transit antara instans Dapr menggunakan sarana kontrol layanan Dapr Sentry, yang merupakan Otoritas Sertifikat (CA) pusat. Dengan layanan Sentry, Anda dapat mengenkripsi komunikasi menggunakan sertifikat x.509 yang ditandatangani sendiri atau disediakan pengguna. Pelajari selengkapnya tentang menyiapkan sertifikat mTLS dalam dokumentasi Dapr sumber terbuka.
Anda dapat membawa sertifikat Anda sendiri, atau membiarkan Dapr secara otomatis membuat dan mempertahankan sertifikat akar dan penerbit yang ditandatangani sendiri.
Penting
Jika Anda tidak mengonfigurasi sertifikat secara eksplisit, Dapr default untuk membuat sertifikat yang ditandatangani sendiri, yang umumnya berlaku selama 1 tahun. Saat ini, menggunakan sertifikat yang ditandatangani sendiri yang dihasilkan oleh Dapr tidak disarankan. Praktik terbaik adalah membuat sertifikat kustom dan memperbaruinya secara manual.
Jika Anda belum memberikan sertifikat kustom apa pun, Dapr secara otomatis membuat dan mempertahankan sertifikat yang ditandatangani sendiri, berlaku selama 1 tahun. Ekstensi Dapr menginstal dapr-trust-bundle
rahasia, yang berisi informasi sertifikat di bawah namespace default dapr-system
.
Anda dapat memeriksa kapan sertifikat akar Dapr kluster Kubernetes Anda kedaluwarsa dengan menggunakan Dapr CLI.
dapr mtls expiry
Output yang diharapkan:
Root certificate expires in 8759 hours. Expiry date: 2025-12-06 18:14:20 +0000 UTC
Anda juga dapat menemukan tanggal kedaluwarsa untuk sertifikat Anda saat ini di data rahasia Kubernetes dapr-trust-bundle
.
kubectl get secret dapr-trust-bundle -n dapr-system -o jsonpath='{.data.issuer\.crt}' | base64 -d | openssl x509 -noout -dates
Output yang diharapkan:
notBefore=Dec 6 17:59:20 2024 GMT
notAfter=Dec 6 18:14:20 2025 GMT
- Melalui Dapr CLI (disarankan)
Lihat panduan Akar dan sertifikat pengeluar sertifikat Dapr menggunakan CLI . - Melalui
kubectl
perintah Lihat panduan Memperbarui root atau penerbit Dapr menggunakan panduan Kubectl .
Anda juga dapat membawa sertifikat kustom Anda sendiri.
- Membuat sertifikat kustom
Buat sertifikat kustom Anda sendiri; misalnya, sertifikat Azure Key Vault. - Memperbarui sertifikasi kustom Anda secara manual
Ikuti instruksi yang diberikan dalam dokumentasi Sumber terbuka Dapr untuk memperbarui sertifikat kustom Anda secara manual menggunakankubectl
.
Provisikan Dapr dengan ketersediaan tinggi (HA) diaktifkan dengan mengatur global.ha.enabled
parameter ke true
.
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
Catatan
Jika pengaturan konfigurasi sensitif dan perlu dilindungi (misalnya, informasi terkait sertifikasi), berikan --configuration-protected-settings
parameter dan nilai akan dilindungi agar tidak dibaca.
Jika tidak ada pengaturan konfigurasi yang dilewatkan, konfigurasi Dapr default menjadi:
ha:
enabled: true
replicaCount: 3
disruption:
minimumAvailable: ""
maximumUnavailable: "25%"
prometheus:
enabled: true
port: 9090
mtls:
enabled: true
workloadCertTTL: 24h
allowedClockSkew: 15m
Untuk daftar opsi yang tersedia, lihat Konfigurasi Dapr.
Pada konfigurasi tertentu, Anda mungkin hanya perlu menjalankan Dapr di node tertentu. Anda dapat membatasi ekstensi dengan meneruskan nodeSelector
dalam konfigurasi ekstensi. Jika nodeSelector
yang diinginkan berisi .
, Anda harus mengeluarkannya dari shell dan ekstensi. Misalnya, konfigurasi berikut menginstal Dapr hanya ke simpul dengan topology.kubernetes.io/zone: "us-east-1c"
:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.nodeSelector.kubernetes\.io/zone=us-east-1c"
Untuk mengelola OS dan arsitektur, gunakan versi konfigurasi global.daprControlPlaneOs
dan global.daprControlPlaneArch
yang didukung:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2" \
--configuration-settings "global.daprControlPlaneOs=linux” \
--configuration-settings "global.daprControlPlaneArch=amd64”
Secara default, layanan penempatan menggunakan kelas penyimpanan jenis standard_LRS
. Disarankan untuk membuat kelas penyimpanan zona redundan saat menginstal Dapr dalam mode HA di beberapa zona ketersediaan. Misalnya, untuk membuat zrs
kelas penyimpanan jenis, tambahkan storageaccounttype
parameter :
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
name: custom-zone-redundant-storage
provisioner: disk.csi.azure.com
reclaimPolicy: Delete
allowVolumeExpansion: true
volumeBindingMode: WaitForFirstConsumer
parameters:
storageaccounttype: Premium_ZRS
Saat menginstal Dapr, gunakan kelas penyimpanan yang Anda gunakan dalam file YAML:
az k8s-extension create --cluster-type managedClusters
--cluster-name XXX
--resource-group XXX
--name XXX
--extension-type Microsoft.Dapr
--auto-upgrade-minor-version XXX
--version XXX
--configuration-settings "dapr_placement.volumeclaims.storageClassName=custom-zone-redundant-storage"
Anda dapat mengonfigurasi namespace rilis.
Ekstensi Dapr diinstal di dapr-system
namespace secara default. Untuk mengambil alihnya, gunakan --release-namespace
. Untuk menentukan ulang namespace layanan, sertakan kluster --scope
.
az k8s-extension create \
--cluster-type managedClusters \
--cluster-name dapr-aks \
--resource-group dapr-rg \
--name my-dapr-ext \
--extension-type microsoft.dapr \
--release-train stable \
--auto-upgrade false \
--version 1.9.2 \
--scope cluster \
--release-namespace dapr-custom
Gunakan perintah az k8s-extension show
untuk memperlihatkan pengaturan konfigurasi Dapr saat ini:
az k8s-extension show --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr
Penting
Beberapa opsi konfigurasi tidak dapat diubah setelah dibuat. Penyesuaian terhadap opsi ini memerlukan penghapusan dan pembuatan ulang ekstensi yang berlaku untuk pengaturan berikut:
global.ha.*
dapr_placement.*
HA diaktifkan secara default. Menonaktifkannya memerlukan penghapusan dan rekreasi ekstensi.
Untuk memperbarui pengaturan konfigurasi Dapr Anda, buat ulang ekstensi dengan status yang diinginkan. Misalnya, Anda sebelumnya membuat dan menginstal ekstensi menggunakan konfigurasi berikut:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=2"
Untuk memperbarui dapr_operator.replicaCount
dari dua menjadi tiga, gunakan perintah berikut:
az k8s-extension create --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--extension-type Microsoft.Dapr \
--auto-upgrade-minor-version true \
--configuration-settings "global.ha.enabled=true" \
--configuration-settings "dapr_operator.replicaCount=3"
Jika Anda ingin menggunakan proksi keluar dengan ekstensi Dapr untuk AKS, Anda dapat melakukannya dengan:
- Mengatur variabel lingkungan proksi menggunakan
dapr.io/env
anotasi:HTTP_PROXY
HTTPS_PROXY
NO_PROXY
- Menginstal sertifikat proksi di sidecar.
Jika Anda menggunakan versi Dapr tertentu dan tidak tersedia --auto-upgrade-minor-version
, Anda dapat menggunakan perintah berikut untuk meningkatkan atau menurunkan dapr:
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--version 1.12.0 # Version to upgrade or downgrade to
Perintah sebelumnya hanya memperbarui sarana kontrol Dapr. Untuk memperbarui sidecar Dapr, mulai ulang penyebaran aplikasi Anda:
kubectl rollout restart deploy/<DEPLOYMENT-NAME>
Dari Dapr versi 1.8.0, Anda dapat menggunakan gambar Azure Linux dengan ekstensi Dapr. Untuk menggunakannya, atur global.tag
bendera:
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--set global.tag=1.10.0-mariner
- Pelajari selengkapnya tentang menggunakan gambar berbasis Mariner dengan Dapr.
- Pelajari selengkapnya tentang menyebarkan Azure Linux di AKS.
Dari Dapr versi 1.9.2, CRD secara otomatis ditingkatkan saat ekstensi ditingkatkan. Untuk menonaktifkan pengaturan ini, Anda dapat mengatur hooks.applyCrds
ke false
.
az k8s-extension update --cluster-type managedClusters \
--cluster-name myAKSCluster \
--resource-group myResourceGroup \
--name dapr \
--configuration-settings "hooks.applyCrds=false"
Catatan
CRD hanya diterapkan jika terjadi peningkatan dan dilewati selama penurunan.
Ekstensi Dapr memerlukan URL https://:443
keluar berikut untuk berfungsi pada AKS dan Arc untuk Kubernetes:
https://mcr.microsoft.com/daprio
URL untuk menarik artefak Dapr.- URL keluar yang diperlukan untuk AKS atau Arc untuk Kubernetes.
Umpan balik Azure Kubernetes Service
Azure Kubernetes Service adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: