Poznámka
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Azure Developer CLI poskytuje podporu pro Helm a Kustomize, aby se zlepšil proces zřizování a nasazení ve službě Azure Kubernetes Service (AKS). Helm a Kustomize jsou nástroje, které vám pomůžou nakonfigurovat a spravovat aplikace Kubernetes. V následujících částech se dozvíte, jak povolit a přizpůsobit podporu těchto nástrojů v azd
šablonách.
Povolení podpory Helmu
Pokud chcete povolit podporu Helmu, ujistěte se, že máte nainstalované rozhraní příkazového řádku Helm. azd
Spuštěním azd config
příkazu povolte příznak funkce Helm:
azd config set alpha.aks.helm on
Konfigurace a nasazení Helmu
azd
Podpora Helm umožňuje definovat seznam grafů Helm, které se mají nainstalovat pro každou azd
službu. helm
Oddíly konfigurace k8s
v azure.yaml
souboru slouží k definování seznamu úložišť helm nebo vydaných verzí, které se mají nainstalovat.
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
Příkaz azd deploy
zpracovává následující úlohy pomocí oddílu helm
:
- Přidá všechna odkazovaná úložiště Helm nebo je aktualizuje.
- Nainstaluje odkazované grafy Helm.
- Čeká na přechod verze Helm do nasazeného stavu.
- Zobrazí seznam relevantních služeb a příchozích dat definovaných v rámci nasazených prostředků.
Povolení podpory Kustomize
Pokud chcete povolit podporu Kustomize, ujistěte se, že máte nainstalované rozhraní příkazového řádku Kustomize. azd
Pomocí příkazu povolte příznak azd config
funkce Kustomize:
azd config set alpha.aks.kustomize on
Konfigurace a nasazení Kustomize
Funkce Kustomize umožňuje používat Kustomize jako součást nasazení Kubernetes a poskytuje následující funkce:
- Podpora
base
avariant
konfigurace edits
které je možné spustit před nasazenímconfigMapGenerator
s prostředímiazd
Pomocí následujících azure.yaml
částí nakonfigurujte funkce Kustomize:
dir
: Relativní cesta ze služby do vašeho adresáře Kustomize, který obsahujekustomization.yaml
soubor.- Podporuje nahrazení proměnných prostředí.
edits
: Pole výrazu pro úpravy použitého před nasazením- Podporuje nahrazení proměnných prostředí.
env
: Mapování párů klíč/hodnota vygenerovaných před nasazením- Hodnoty mapování podporují nahrazení proměnných prostředí
Případy použití
Následující případy použití Kustomize jsou podporovány azd
.
Nasazení manifestů k8s
Následující konfigurace provede kubectl apply -k <dir>
příkaz, který odkazuje na složku manifestů, která obsahuje 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
Použití překryvných vrstev k nasazení s různými variantami
Tento případ použití se obvykle používá k tomu, aby se vlastní konfigurace nasazovaly do různých fází nebo prostředí, například dev
a test
prod
. V následujícím příkladu může uživatel zadat proměnnou ${AZURE_ENV_NAME}
prostředí v adresáři kustomize, aby automaticky využívala prostředí azd jako výchozí konvenci překrytí:
# 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}
Upravit kustomization.yaml
před nasazením
Běžným případem použití pro úpravu je kustomization.yaml
úprava názvů a verzí imagí kontejneru používaných v rámci nasazení.
Následující příklad určuje edits
konfiguraci a nastaví libovolný platný kustomize edit ...
příkaz. azd
automaticky interpoluje všechny proměnné prostředí odkazované v edit
rámci příkazu.
# 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}
Použití azd
proměnných prostředí v rámci konfiguračních map
Při konfiguraci clusterů k8s jsou důležité konfigurační mapy nebo tajné kódy. Vzhledem k tomu , že kustomize nepodporuje žádnou přímou náhradu proměnných prostředí, můžeme využít kustomize configMapGenerator
se souborem .env
.
Oddíl kustomize
konfigurace podporuje oddíl, env
ve kterém je možné definovat jeden nebo více párů klíč/hodnota. Tato konfigurace automaticky vygeneruje dočasný .env
soubor v adresáři kustomization, který může použít configMapGenerator
.
Následující konfigurace vytvoří .env
dvojici klíč/hodnota se zadanými páry klíč/hodnota.
# 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}
Vygeneruje configMapGenerator
mapu konfigurace k8s se zadaným názvem a obsahuje všechny páry klíč/hodnota odkazované v .env
souboru.
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
configMapGenerator:
- name: todo-web-config
envs:
- .env