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 eastusVytvoř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 BasicVý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 nahraditmyhelmacrná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
kubectlmístně pomocí příkazu az aks install-cli.az aks install-cliNakonfigurujte
kubectlpř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 clonepomocí příkazu.git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitPomocí příkazu
azure-votepřejděte do adresářecd.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
myhelmacrná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 createpříkazu.helm create azure-vote-frontAktualizujte azure-vote-front/Chart.yaml a přidejte závislost pro graf Redis z
https://charts.bitnami.com/bitnamiúložiště grafů a aktualizujteappVersionnav1, 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: v1Aktualizujte závislosti schématu Helm pomocí příkazu
helm dependency update.helm dependency update azure-vote-frontAktualizujte 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
envoddí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 installHelm.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 servicepříkazu s argumentem--watch.kubectl get service azure-vote-front --watchAž bude služba připravená, hodnota
EXTERNAL-IPse změní z<pending>na IP adresu. StisknutímCTRL+Czastaví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 2m6sV 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
--yesk potvrzení odstranění a s parametrem--no-waitpro 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.