Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Azure Geliştirici CLI'sı, Azure Kubernetes Service'e (AKS) sağlama ve dağıtım sürecini geliştirmek için Helm ve Kustomize desteği sağlar. Helm ve Kustomize, Kubernetes uygulamalarını yapılandırmanıza ve yönetmenize yardımcı olan araçlardır. İlerideki bölümlerde şablonlarınızda bu araçlar için desteği etkinleştirmeyi ve özelleştirmeyi öğreneceksiniz azd .
Helm desteğini etkinleştirme
Helm desteğini etkinleştirmek için Helm CLI'nın yüklü olduğundan emin olun.
azd config komutunu çalıştırarak azd helm özellik bayrağını etkinleştirin.
azd config set alpha.aks.helm on
Helm yapılandırması ve dağıtımı
azd Helm desteği, her azd hizmet için yüklenecek Helm grafiklerinin listesini tanımlamanızı sağlar.
helm ve k8s yapılandırma bölümlerini azure.yaml dosyasında kullanarak, yüklenecek helm depolarının veya yayınlarının bir listesini tanımlayın.
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
azd deploy komutu, helm bölümünü kullanarak aşağıdaki görevleri işler:
- Referans verilen Helm depolarını ekler ve/veya günceller
- Atıfta bulunulan Helm şemalarını yükler.
- Helm sürümünün dağıtılan duruma geçmesini bekler
- Dağıtılan kaynaklar içinde tanımlanan ilgili hizmetleri ve girişlerini listeler
Kustomize desteğini etkinleştirme
Kustomize desteğini etkinleştirmek için Kustomize CLI'nın yüklü olduğundan emin olun.
azd Komutunu kullanarak Kustomize özellik bayrağını azd config etkinleştirin:
azd config set alpha.aks.kustomize on
Kustomize yapılandırması ve dağıtımı
Kustomize özelliği Kubernetes dağıtımlarının bir parçası olarak Kustomize kullanmanıza olanak tanır ve aşağıdaki özellikleri sağlar:
-
basevevariantyapılandırmalarını destekler -
editsdağıtımlardan önce çalıştırılabilir -
configMapGeneratorileazdortamlar
Kustomize özelliklerini aşağıdaki azure.yaml bölümleri kullanarak yapılandırın:
-
dir: Hizmetten, birkustomization.yamldosyası içeren Kustomize dizininize göreli yol.- Ortam değişkeni değişimini destekler.
-
edits: Dağıtımdan önce uygulanan düzenleme ifadeleri dizisi- Ortam değişkeni değişimini destekler
-
env: Dağıtımdan önce oluşturulan anahtar/değer çiftlerinin haritası- Eşleme değerleri ortam değişkeni değişimini destekler
Kullanım örnekleri
azd aşağıdaki Kustomize kullanım örneklerini destekler.
K8s manifestleri dağıtın
Aşağıdaki yapılandırma, bir kubectl apply -k <dir> komutu gerçekleştirir; bu komut, kustomization.yaml içeren bildirimler klasörünüze işaret eder.
# 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
Farklı varyantlar ile dağıtım için üst üste bindirmeleri kullanma
Bu kullanım örneği genellikle , dev ve testgibi prodfarklı aşamalara veya ortamlara dağıtmak için özel yapılandırmalara sahip olmak için kullanılır. Aşağıdaki örnekte kullanıcı, varsayılan katman kuralınız olarak azd ortamlarını otomatik olarak kullanmak için kustomize dizinindeki ortam değişkenini belirtebilir ${AZURE_ENV_NAME} :
# 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}
Dağıtımdan önce kustomization.yaml'yi değiştirin
Bir kustomization.yaml öğesini değiştirmenin yaygın bir kullanım örneği, dağıtımınızın bir parçası olarak kullanılan kapsayıcı görüntü adlarını/sürümlerini değiştirmektir.
Aşağıdaki örnek bir edits yapılandırma belirtir ve geçerli kustomize edit ... bir komut ayarlar.
azdkomutunda başvuruda bulunılan ortam değişkenlerini otomatik olarak ilişkilendirme.edit
# 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}
Yapılandırma eşlemeleri içinde ortam değişkenlerini kullanma azd
Yapılandırma eşlemeleri veya gizli dizileri, K8s kümelerinizi yapılandırmada kritik öneme sahiptir.
Kustomize herhangi bir doğrudan ortam değişkeni değişimini desteklemediğinden kustomize configMapGenerator dosyasını bir .env dosyayla kullanabiliriz.
Yapılandırma kustomize bölümü, bir veya birden çok anahtar/değer çiftinin tanımlanabildiği bir env bölümü destekler. Bu yapılandırma, kustomization dizininizde configMapGenerator tarafından kullanılabilecek geçici bir .env dosyası otomatik olarak oluşturur.
Aşağıdaki yapılandırma, belirtilen anahtar/değer çiftleriyle bir .env oluşturur.
# 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}
Bu configMapGenerator, belirtilen ada sahip bir K8s config map oluşturur ve .env dosyası içerisindeki tüm anahtar/değer çiftlerini içerir.
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
configMapGenerator:
- name: todo-web-config
envs:
- .env