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.
Azure Developer CLI menyediakan dukungan untuk Helm dan Kustomize untuk meningkatkan proses provisi dan penyebaran ke Azure Kubernetes Service (AKS). Helm dan Kustomize adalah alat yang membantu Anda mengonfigurasi dan mengelola aplikasi Kubernetes. Di bagian depan, Anda mempelajari cara mengaktifkan dan menyesuaikan dukungan untuk alat-alat ini di templat Anda azd .
Mengaktifkan dukungan Helm
Untuk mengaktifkan dukungan Helm, pastikan Anda telah menginstal Helm CLI. Aktifkan azd bendera fitur helm dengan menjalankan azd config perintah:
azd config set alpha.aks.helm on
Konfigurasi dan penyebaran Helm
azd Dukungan Helm memungkinkan Anda menentukan daftar bagan Helm untuk diinstal untuk setiap azd layanan. Gunakan bagian konfigurasi helm dan k8s dalam file azure.yaml untuk menentukan daftar repositori helm atau rilis helm untuk diinstal.
name: todo-nodejs-mongo-aks
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
argocd:
host: aks
k8s:
namespace: argo
service:
name: argocd-server
helm:
repositories:
- name: argo
url: https://argoproj.github.io/argo-helm
releases:
- name: argocd
chart: argo/argo-cd
version: 5.51.4
jupyterhub:
host: aks
k8s:
namespace: jupyterhub
service:
name: proxy-public
helm:
repositories:
- name: jupyterhub
url: https://hub.jupyter.org/helm-chart/
releases:
- name: jupyterhub
chart: jupyterhub/jupyterhub
version: 3.1.0
Perintah azd deploy menangani tugas berikut menggunakan bagian helm :
- Menambahkan repositori Helm yang direferensikan dan/atau memperbaruinya
- Memasang diagram Helm yang dirujuk
- Menunggu rilis Helm beralih ke status yang terpasang
- Mencantumkan layanan dan ingress yang relevan yang telah ditetapkan dalam sumber daya yang diterapkan
Aktifkan dukungan Kustomisasi
Untuk mengaktifkan dukungan Kustomisasi, pastikan Anda telah menginstal Kustomize CLI. Aktifkan azd bendera fitur Kustomisasi menggunakan azd config perintah :
azd config set alpha.aks.kustomize on
Kustomisasi konfigurasi dan penyebaran
Fitur Kustomisasi memungkinkan Anda menggunakan Kustomize sebagai bagian dari penyebaran Kubernetes dan menyediakan fitur-fitur berikut:
- Mendukung
basedanvariantkonfigurasi -
editsyang dapat dijalankan sebelum penerapan -
configMapGeneratordalamazdlingkungan
Konfigurasikan fitur Kustomisasi menggunakan bagian berikut azure.yaml :
-
dir: Jalur relatif dari layanan ke direktori Kustomisasi Anda yang berisikustomization.yamlfile.- Mendukung substitusi variabel lingkungan.
-
edits: Larikan ekspresi edit yang diterapkan sebelum proses penyebaran- Mendukung substitusi variabel lingkungan
-
env: Peta pasangan kunci/nilai yang dihasilkan sebelum penyebaran- Nilai peta mendukung substitusi variabel lingkungan
Kasus penggunaan
azd mendukung kasus penggunaan Kustomisasi berikut.
Menyebarkan manifes K8s
Konfigurasi berikut menjalankan perintah kubectl apply -k <dir> yang mengarah ke folder manifes Anda yang memuat kustomization.yaml:
# azure.yaml
name: todo-nodejs-mongo-aks
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: aks
k8s:
kustomize:
dir: ./kustomize/base
Gunakan overlay untuk melakukan penyebaran ke berbagai varian yang berbeda.
Kasus penggunaan ini biasanya digunakan untuk memiliki konfigurasi kustom untuk disebarkan ke berbagai tahap atau lingkungan, seperti dev, test dan prod. Dalam contoh berikut, pengguna dapat menentukan ${AZURE_ENV_NAME} variabel lingkungan dalam direktori kustomisasi untuk secara otomatis menggunakan lingkungan azd sebagai konvensi overlay default Anda:
# azure.yaml
name: todo-nodejs-mongo-aks
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: aks
k8s:
kustomize:
dir: ./kustomize/overlays/${AZURE_ENV_NAME}
Ubah kustomization.yaml sebelum penyebaran
Kasus penggunaan umum untuk memodifikasi kustomization.yaml adalah memodifikasi nama/versi citra kontainer yang digunakan sebagai bagian dari deployment Anda.
Contoh berikut mengatur konfigurasi edits dan menetapkan setiap perintah kustomize edit ... yang valid.
azd secara otomatis menginterpolasi variabel lingkungan apa pun yang dirujuk dalam edit perintah.
# azure.yaml
name: todo-nodejs-mongo-aks
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: aks
k8s:
kustomize:
dir: ./kustomize/overlays/${AZURE_ENV_NAME}
edits:
- set image todo-api=${SERVICE_API_IMAGE_NAME}
Menggunakan azd variabel lingkungan dalam peta konfigurasi
Peta konfigurasi atau rahasia sangat penting dalam mengonfigurasi kluster K8s Anda. Karena kustomisasi tidak mendukung substitusi variabel lingkungan langsung, kita dapat menggunakan kustomisasi configMapGenerator dengan .env file.
Bagian kustomize konfigurasi mendukung env bagian di mana satu atau banyak pasangan kunci/nilai dapat ditentukan. Konfigurasi ini secara otomatis menghasilkan file sementara .env dalam direktori kustomisasi Anda yang dapat digunakan oleh configMapGenerator.
Konfigurasi berikut membuat .env dengan pasangan kunci/nilai yang ditentukan.
# azure.yaml
name: todo-nodejs-mongo-aks
metadata:
template: todo-nodejs-mongo-aks@0.0.1-beta
services:
api:
project: ./src/api
language: js
host: aks
k8s:
kustomize:
dir: ./kustomize/overlays/${AZURE_ENV_NAME}
edits:
- set image todo-api=${SERVICE_API_IMAGE_NAME}
env:
AZURE_AKS_IDENTITY_CLIENT_ID: ${AZURE_AKS_IDENTITY_CLIENT_ID}
AZURE_KEY_VAULT_ENDPOINT: ${AZURE_KEY_VAULT_ENDPOINT}
APPLICATIONINSIGHTS_CONNECTION_STRING: ${APPLICATIONINSIGHTS_CONNECTION_STRING}
Menghasilkan peta konfigurasi K8s dengan nama yang ditentukan dalam configMapGenerator dan berisi semua pasangan kunci/nilai yang dirujuk dalam file .env.
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
configMapGenerator:
- name: todo-web-config
envs:
- .env