Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Helm is een opensource-pakketprogramma waarmee u de levenscyclus van Kubernetes-toepassingen kunt installeren en beheren. Helm beheert Kubernetes-grafieken, vergelijkbaar met Linux-pakketbeheerders, zoals APT en Yum. Dit zijn pakketten met vooraf geconfigureerde Kubernetes-resources.
In deze quickstart gebruikt u Helm om een toepassing in AKS te verpakken en uit te voeren. Zie voor meer informatie over het installeren van een bestaande toepassing met Helm Bestaande toepassingen installeren met Helm in AKS.
Vereisten
- Een Azure-abonnement. Als u geen Azure-abonnement hebt, kunt u een vrij account maken.
- Azure CLI of Azure PowerShell geïnstalleerd.
- Helm v3 geïnstalleerd.
Een Azure Container Registry maken
U moet uw containerinstallatiekopieën opslaan in een Azure Container Registry (ACR) om uw toepassing in uw AKS-cluster uit te voeren met behulp van Helm. De registernaam moet uniek zijn binnen Azure en moet 5-50 alfanumerieke tekens bevatten. Alleen kleine letters zijn toegestaan. De SKU Basic is een toegangspunt voor ontwikkelingsdoeleinden dat is geoptimaliseerd voor kosten, met een balans tussen opslag en doorvoer.
Maak een Azure resourcegroep met behulp van de opdracht az group create. In het volgende voorbeeld wordt een resourcegroep met de naam myResourceGroup gemaakt in de locatie eastus.
az group create --name myResourceGroup --location eastusMaak een Azure Container Registry met een unieke naam door de opdracht az acr create aan te roepen. In het volgende voorbeeld wordt een ACR met de naam myhelmacr gemaakt met de Basic SKU.
az acr create --resource-group myResourceGroup --name myhelmacr --sku BasicDe uitvoer moet er ongeveer uitzien als in de volgende verkorte voorbeelduitvoer. Noteer de loginServer-waarde van uw ACR om later te gebruiken.
{ "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" }
Een AKS-cluster maken
Uw nieuwe AKS-cluster heeft toegang nodig tot uw ACR om de containerimages op te halen en uit te voeren.
Maak een AKS-cluster met behulp van de opdracht az aks create met de
--attach-acrparameter om het cluster toegang te verlenen tot uw ACR. In het volgende voorbeeld wordt een AKS-cluster met de naam myAKSCluster gemaakt en toegang verleend tot de myhelmacr ACR. Zorg ervoor dat u de naam van uw ACR vervangt doormyhelmacr.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Verbinding maken met uw AKS-cluster
Als u een Kubernetes-cluster lokaal wilt verbinden, gebruikt u de Kubernetes-opdrachtregelclient kubectl.
kubectl is al geïnstalleerd als u Azure Cloud Shell gebruikt.
Installeer
kubectllokaal met behulp van de opdracht az aks install-cli .az aks install-cliConfigureer
kubectlom verbinding te maken met uw Kubernetes-cluster door het az aks get-credentials commando te gebruiken. Met de volgende opdracht worden referenties opgehaald voor het AKS-cluster met de naam myAKSCluster in myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
De voorbeeldtoepassing downloaden
In deze quickstart wordt de Azure Vote-toepassing gebruikt.
Kloon de toepassing uit GitHub met behulp van de opdracht
git clone.git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitNavigeer naar de
azure-votemap met behulp van decdopdracht.cd azure-voting-app-redis/azure-vote/
De voorbeeldtoepassing bouwen en pushen naar ACR
Bouw en push de container-image naar uw ACR met de opdracht az acr build. In het volgende voorbeeld wordt een image met de naam azure-vote-front:v1 gebouwd en naar de myhelmacr ACR gepusht. Zorg ervoor dat u
myhelmacrvervangt door de naam van uw ACR.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Notitie
U kunt Helm-grafieken ook importeren in uw ACR. Voor meer informatie, zie Push en pull Helm charts naar een Azure-containerregister.
Uw Helm-grafiek maken
Genereer uw Helm-grafiek met behulp van de
helm createopdracht.helm create azure-vote-frontWerk azure-vote-front/Chart.yaml bij om een afhankelijkheid voor het redis-diagram toe te voegen vanuit de opslagplaats voor grafieken
https://charts.bitnami.com/bitnamien bij te werkenappVersionnaarv1, zoals wordt weergegeven in het volgende voorbeeld:Notitie
De containerimageversies die in deze handleiding worden weergegeven, zijn getest voor gebruik met dit voorbeeld, maar zijn mogelijk niet de meest recente beschikbare versie.
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: v1Werk uw Helm-grafiekafhankelijkheden bij met behulp van de
helm dependency updateopdracht.helm dependency update azure-vote-frontWerk azure-vote-front/values.yaml bij met de volgende wijzigingen.
- Voeg een redis-sectie toe om de afbeeldingsgegevens, containerpoort en implementatienaam in te stellen.
- Voeg een back-endnaam toe om het front-endgedeelte te verbinden met de redis-implementatie .
- Wijzig image.repository in
<loginServer>/azure-vote-front. - Wijzig image.tag in
v1. - Wijzig service.type in LoadBalancer.
Voorbeeld:
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 ...Voeg een
envsectie toe aan azure-vote-front/templates/deployment.yaml om de naam van de redis-implementatie door te geven.... 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 }} ...
Uw Helm-grafiek uitvoeren
Installeer uw toepassing met uw Helm-chart door de
helm installopdracht te gebruiken.helm install azure-vote-front azure-vote-front/Het duurt enkele minuten voordat de service een openbaar IP-adres retourneert. Bewaak de voortgang met behulp van de
kubectl get serviceopdracht met het--watchargument.kubectl get service azure-vote-front --watchWanneer de service gereed is, verandert de
EXTERNAL-IPwaarde van<pending>naar een IP-adres. DrukCTRL+Com hetkubectlbewakingsproces te stoppen.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 2m6sNavigeer naar de load balancer van uw toepassing in een browser met behulp van
<EXTERNAL-IP>om de voorbeeldtoepassing te zien.
Het cluster verwijderen
Verwijder uw resourcegroep, AKS-cluster, Azure containerregister, containerinstallatiekopieën die zijn opgeslagen in de ACR en alle gerelateerde resources met behulp van de opdracht az group delete met de parameter
--yesom verwijdering te bevestigen en de parameter--no-waitom terug te keren naar de opdrachtprompt zonder te wachten tot de bewerking is voltooid.az group delete --name myResourceGroup --yes --no-wait
Notitie
Als u uw AKS-cluster hebt gemaakt met een door het systeem toegewezen beheerde identiteit (de standaardidentiteitsoptie in deze quickstart), wordt de identiteit beheerd door het platform en hoeft deze niet te worden verwijderd.
Als u uw AKS-cluster met een service-principal hebt gemaakt, wordt de service-principal niet verwijderd wanneer u het cluster verwijdert. Zie overwegingen en verwijdering van AKS-service-principals om de service-principal te verwijderen.
Volgende stappen
Zie de Helm-documentatie voor meer informatie over het gebruik van Helm.