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 akan 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 helm
konfigurasi dan k8s
dalam azure.yaml
file untuk menentukan daftar repositori helm atau rilis 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
- Menginstal bagan Helm yang dirujuk
- Menunggu rilis Helm beralih ke status yang disebarkan
- Mencantumkan layanan dan ingress yang relevan yang ditentukan dalam sumber daya yang disebarkan
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:
base
Dukungan danvariant
konfigurasiedits
yang dapat dijalankan sebelum penyebaranconfigMapGenerator
denganazd
lingkungan
Konfigurasikan fitur Kustomisasi menggunakan bagian berikut azure.yaml
:
dir
: Jalur relatif dari layanan ke direktori Kustomisasi Anda yang berisikustomization.yaml
file.- Mendukung substitusi variabel lingkungan.
edits
: Array ekspresi edit yang diterapkan sebelum penyebaran- Mendukung substitusi variabel lingkungan
env
: Peta pasangan kunci/nilai yang dihasilkan sebelum penyebaran- Nilai peta mendukung substitusi variabel lingkungan
Kasus penggunaan
Kasus penggunaan Kustomisasi berikut didukung oleh azd
.
Menyebarkan manifes k8s
Konfigurasi berikut melakukan kubectl apply -k <dir>
perintah yang menunjuk ke folder manifes Anda yang berisi 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 disebarkan dengan 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 memanfaatkan 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 gambar kontainer yang digunakan sebagai bagian dari penyebaran Anda.
Contoh berikut menentukan edits
konfigurasi dan menetapkan perintah yang valid kustomize edit ...
. 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, kami dapat memanfaatkan 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 akan 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}
configMapGenerator
menghasilkan peta konfigurasi k8s dengan nama yang ditentukan dan berisi semua pasangan kunci/nilai yang dirujuk dalam .env
file.
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
configMapGenerator:
- name: todo-web-config
envs:
- .env