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.
Helm je opensourcový nástroj pro balení, který vám pomůže nainstalovat a spravovat životní cyklus aplikací Kubernetes. Podobně jako správci balíčků pro Linux, jako je APT a Yum, helm spravuje grafy Kubernetes, což jsou balíčky předem nakonfigurovaných prostředků Kubernetes.
V tomto rychlém startu použijete Helm k zabalení a spuštění aplikace v AKS. Informace o instalaci existující aplikace pomocí Nástroje Helm naleznete v tématu Instalace existujících aplikací pomocí Nástroje Helm v AKS.
Požadavky
- Předplatné Azure. Pokud ještě nemáte předplatné Azure, můžete si vytvořit bezplatný účet.
- Nainstalovali jsme Azure CLI nebo Azure PowerShell .
- Nainstalovali jsme Helm v3.
Vytvoření registru služby Azure Container Registry
Ke spuštění aplikace v clusteru AKS pomocí Helmu musíte ukládat image kontejnerů do služby Azure Container Registry (ACR). Název vašeho registru musí být v rámci Azure jedinečný a musí obsahovat 5 až 50 alfanumerických znaků. Jsou povoleny pouze malá písmena. Skladová položka Basic představuje vstupní bod optimalizovaný z hlediska nákladů pro účely vývoje a poskytuje vyváženou kombinaci úložiště a propustnosti.
Pomocí příkazu az group create vytvořte skupinu prostředků Azure. Následující příklad vytvoří v umístění eastus skupinu prostředků nazvanou myResourceGroup.
az group create --name myResourceGroup --location eastus
Vytvořte službu Azure Container Registry s jedinečným názvem zavoláním příkazu az acr create . Následující příklad vytvoří ACR s názvem myhelmacr s Basic SKU.
az acr create --resource-group myResourceGroup --name myhelmacr --sku Basic
Výstup by měl vypadat podobně jako následující zhuštěný ukázkový výstup. Všimněte si hodnoty loginServer, kterou vaše ACR použije v pozdějším kroku.
{ "adminUserEnabled": false, "creationDate": "2023-12-26T22:36:23.998425+00:00", "id": "/subscriptions/<ID>/resourceGroups/myResourceGroup/providers/Microsoft.ContainerRegistry/registries/myhelmacr", "location": "eastus", "loginServer": "myhelmacr.azurecr.io", "name": "myhelmacr", "networkRuleSet": null, "provisioningState": "Succeeded", "resourceGroup": "myResourceGroup", "sku": { "name": "Basic", "tier": "Basic" }, "status": null, "storageAccount": null, "tags": {}, "type": "Microsoft.ContainerRegistry/registries" }
Vytvoření clusteru AKS
Váš nový cluster AKS potřebuje přístup k ACR, aby načítá image kontejneru a spustil je.
Vytvořte cluster AKS pomocí příkazu az aks create s parametrem
--attach-acr
, který clusteru udělí přístup k vašemu ACR. Následující příklad vytvoří cluster AKS s názvem myAKSCluster a udělí mu přístup k ACR myhelmacru . Nezapomeňte nahraditmyhelmacr
názvem služby ACR.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Připojení ke clusteru AKS
K místnímu připojení clusteru Kubernetes použijete klienta příkazového řádku Kubernetes kubectl.
kubectl
je už nainstalovaný, pokud používáte Azure Cloud Shell.
Nainstalujte
kubectl
místně pomocí příkazu az aks install-cli.az aks install-cli
Nakonfigurujte
kubectl
připojení ke clusteru Kubernetes pomocí příkazu az aks get-credentials . Následující příkaz získá přihlašovací údaje pro cluster AKS s názvem myAKSCluster v myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Stažení ukázkové aplikace
V tomto rychlém startu se používá aplikace Azure Vote.
Naklonujte aplikaci z GitHubu
git clone
pomocí příkazu.git clone https://github.com/Azure-Samples/azure-voting-app-redis.git
Pomocí příkazu
cd
přejděte do adresářeazure-vote
.cd azure-voting-app-redis/azure-vote/
Sestavení a nasdílení ukázkové aplikace do ACR
Sestavte a pushněte obraz do svého ACR pomocí příkazu az acr build. Následující příklad sestaví image s názvem azure-vote-front:v1 a nahraje ji do myhelmacr ACR. Nezapomeňte nahradit
myhelmacr
názvem služby ACR.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Poznámka:
Do služby ACR můžete také importovat grafy Helm. Další informace najdete v tématu Nahrání a stažení diagramů Helm do Azure registru kontejnerů.
Vytvoření chartu Helm
Vygenerujte chart Helm pomocí
helm create
příkazu.helm create azure-vote-front
Aktualizujte azure-vote-front/Chart.yaml a přidejte závislost pro graf Redis z
https://charts.bitnami.com/bitnami
úložiště grafů a aktualizujteappVersion
nav1
, jak je znázorněno v následujícím příkladu:Poznámka:
Verze imagí kontejneru uvedené v této příručce byly testovány tak, aby fungovaly s tímto příkladem, ale nemusí být nejnovější dostupnou verzí.
apiVersion: v2 name: azure-vote-front description: A Helm chart for Kubernetes dependencies: - name: redis version: 17.3.17 repository: https://charts.bitnami.com/bitnami ... # This is the version number of the application being deployed. This version number should be # incremented each time you make changes to the application. appVersion: v1
Aktualizujte závislosti schématu Helm pomocí příkazu
helm dependency update
.helm dependency update azure-vote-front
Aktualizujte azure-vote-front/values.yaml následujícími změnami.
- Přidejte sekci Redis pro nastavení podrobností o obrazu, portu kontejneru a názvu nasazení.
- Přidejte back-endName pro připojení front-endové části k nasazení Redis.
- Změňte image.repository na
<loginServer>/azure-vote-front
. - Změňte image.tag na
v1
. - Změňte service.type na LoadBalancer.
Příklad:
replicaCount: 1 backendName: azure-vote-backend-master redis: image: registry: mcr.microsoft.com repository: oss/bitnami/redis tag: 6.0.8 fullnameOverride: azure-vote-backend auth: enabled: false image: repository: myhelmacr.azurecr.io/azure-vote-front pullPolicy: IfNotPresent tag: "v1" ... service: type: LoadBalancer port: 80 ...
Přidejte
env
oddíl do azure-vote-front/templates/deployment.yaml, který předá název nasazení redis.... containers: - name: {{ .Chart.Name }} securityContext: {{- toYaml .Values.securityContext | nindent 12 }} image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}" imagePullPolicy: {{ .Values.image.pullPolicy }} env: - name: REDIS value: {{ .Values.backendName }} ...
Spusťte diagram Helm
Pomocí příkazu nainstalujte aplikaci pomocí chartu
helm install
Helm.helm install azure-vote-front azure-vote-front/
Vrácení veřejné IP adresy trvá několik minut. Sledujte průběh pomocí
kubectl get service
příkazu s argumentem--watch
.kubectl get service azure-vote-front --watch
Až bude služba připravená, hodnota
EXTERNAL-IP
se změní z<pending>
na IP adresu. StisknutímCTRL+C
zastavíte proces kukátkukubectl
.NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE azure-vote-front LoadBalancer 10.0.18.228 <pending> 80:32021/TCP 6s ... azure-vote-front LoadBalancer 10.0.18.228 52.188.140.81 80:32021/TCP 2m6s
V prohlížeči přejděte k nástroji pro vyrovnávání zatížení vaší aplikace pomocí
<EXTERNAL-IP>
ukázkové aplikace.
Odstranění clusteru
Odeberte skupinu prostředků, cluster AKS, registr kontejneru Azure, obrazy kontejnerů uložené v ACR a všechny související prostředky pomocí příkazu az group delete s parametrem
--yes
k potvrzení odstranění a s parametrem--no-wait
pro návrat do příkazového řádku bez čekání na dokončení operace.az group delete --name myResourceGroup --yes --no-wait
Poznámka:
Pokud jste cluster AKS vytvořili se spravovanou identitou přiřazenou systémem (výchozí možnost identity v tomto rychlém startu), identita se spravuje platformou a nevyžaduje odebrání.
Pokud jste vytvořili cluster AKS s instančním objektem, instanční objekt se při odstranění clusteru neodebere. Pro odebrání objektu zabezpečení se podívejte na úvahy a odstranění objektu zabezpečení AKS.
Další kroky
Další informace o používání Nástroje Helm najdete v dokumentaci k Helmu.
Azure Kubernetes Service