Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az Azure Developer CLI támogatást nyújt a Helm és a Kustomize számára az Azure Kubernetes Service (AKS) üzembe helyezésének és felügyeletéhez való folyamatok javításához. A Helm és a Kustomize olyan eszközök, amelyek segítenek a Kubernetes-alkalmazások konfigurálásában és kezelésében. Az alábbi szakaszokban megtudhatja, hogyan engedélyezheti és szabhatja testre az eszközök támogatását a azd sablonokban.
Helm-támogatás engedélyezése
A Helm támogatásának engedélyezéséhez győződjön meg arról, hogy telepítve van a Helm CLI. Engedélyezze a azd helm-funkciójelzőt a azd config parancs futtatásával:
azd config set alpha.aks.helm on
Helm-konfiguráció és üzembe helyezés
azd A Helm-támogatás lehetővé teszi, hogy meghatározott listában adja meg az egyes azd szolgáltatásokhoz telepítendő Helm chartokat. A azure.yaml fájlban található helm és k8s konfigurációs szakaszok segítségével definiálhatja a telepíteni kívánt helm-adattárak vagy kiadások listáját.
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
A azd deploy parancs a következő feladatokat kezeli a helm szakasz használatával:
- Hozzáadja a hivatkozott Helm-adattárakat, és/vagy frissíti őket
- A hivatkozott Helm-diagramok telepítése
- Várakozás a Helm-kiadás üzembe helyezett állapotba való átmenetre
- Az üzembe helyezett erőforrásokon belül definiált releváns szolgáltatások és bejövő forgalom listázása
Kustomize-támogatás engedélyezése
A Kustomize támogatásának engedélyezéséhez győződjön meg arról, hogy telepítve van a Kustomize parancssori felület. Engedélyezze a azd Kustomize funkciójelzőt a azd config következő paranccsal:
azd config set alpha.aks.kustomize on
Kustomize konfiguráció és üzembe helyezés
A Kustomize funkció lehetővé teszi a Kustomize használatát a Kubernetes-üzemelő példányok részeként, és a következő funkciókat biztosítja:
- Támogatja a
baseésvariantkonfigurációkat -
editsaz üzembe helyezés előtt futtatható -
configMapGeneratorkörnyezetekkelazd
Konfigurálja a Kustomize-funkciókat a következő azure.yaml szakaszok használatával:
-
dir: Relatív elérési út a szolgáltatástól a Kustomize könyvtárhoz, amely egykustomization.yamlfájlt tartalmaz.- Támogatja a környezeti változók helyettesítését.
-
edits: Az üzembe helyezés előtt alkalmazott szerkesztési kifejezések tömbje- Támogatja a környezeti változók helyettesítését
-
env: Az üzembe helyezés előtt létrehozott kulcs-érték párok térképe- A leképezési értékek támogatják a környezeti változók helyettesítését
Használati esetek
azd a következő Kustomize-használati eseteket támogatja.
K8s-jegyzékek üzembe helyezése
A következő konfiguráció egy kubectl apply -k <dir> parancsot hajt végre, amely a jegyzékfájl mappára mutat, amely egy 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
Átfedések használata a különböző változatokhoz való üzembe helyezéshez
Ez a használati eset általában egyéni konfigurációkat használ a különböző szakaszokban vagy környezetekben való üzembe helyezéshez, például deva . testprod Az alábbi példában a felhasználó megadhatja a ${AZURE_ENV_NAME} kustomize könyvtárban lévő környezeti változót, hogy automatikusan az azd környezeteket használja alapértelmezett átfedési konvencióként:
# 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}
Módosítsa kustomization.yaml az üzembe helyezés előtt
A módosítás gyakori felhasználási esete a kustomization.yamltárolólemezképek neveinek/verzióinak módosítása, amelyeket az üzembe helyezés részeként használnak.
Az alábbi példa egy konfigurációt edits határoz meg, és beállítja az érvényes kustomize edit ... parancsokat.
azd automatikusan interpolálja a parancsban hivatkozott edit környezeti változókat.
# 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}
Környezeti változók használata azd konfigurációs térképeken belül
A konfigurációs térképek vagy titkok kritikus fontosságúak a K8s klaszterek konfigurálásához. Mivel a kustomize nem támogatja a közvetlen környezeti változók helyettesítését, használhatjuk a kustomize-t egy .env fájllal configMapGenerator.
A kustomize konfigurációs szakasz egy olyan szakaszt env támogat, amelyben egy vagy több kulcs/érték pár definiálható. Ez a konfiguráció automatikusan létrehoz egy ideiglenes .env fájlt a "kustomization" könyvtárban, amelyet egy configMapGenerator használhat.
Az alábbi konfiguráció létrehoz egy .env a megadott kulcs/érték párokkal.
# 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}
A configMapGenerator rendszer létrehoz egy K8s-konfigurációs leképezést a megadott névvel, és tartalmazza a fájlban .env hivatkozott kulcs-érték párokat.
# kustomization.yaml
apiVersion: kustomize.config.k8s.io/v1beta1
kind: Kustomization
resources:
- deployment.yaml
- service.yaml
- ingress.yaml
configMapGenerator:
- name: todo-web-config
envs:
- .env