Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Helm to narzędzie do tworzenia pakietów typu open source, które ułatwia instalowanie cyklu życia aplikacji Kubernetes i zarządzanie nim. Podobnie jak menedżerowie pakietów systemu Linux, tacy jak APT i Yum, program Helm zarządza wykresami Kubernetes, które są pakietami wstępnie skonfigurowanych zasobów Kubernetes.
W tym szybkim rozpoczęciu użyjesz narzędzia Helm, aby spakować i uruchomić aplikację na AKS. Aby uzyskać informacje na temat instalowania istniejącej aplikacji przy użyciu programu Helm, zobacz Instalowanie istniejących aplikacji za pomocą programu Helm w usłudze AKS.
Wymagania wstępne
- Subskrypcja Azure. Jeśli nie masz subskrypcji Azure, możesz utworzyć konto free.
- Azure CLI lub Azure PowerShell zainstalowane.
- Zainstalowano program Helm w wersji 3.
Utwórz Azure Container Registry
Aby uruchomić aplikację w klastrze usługi AKS przy użyciu narzędzia Helm, musisz przechowywać obrazy kontenerów w Azure Container Registry (ACR). Nazwa rejestru musi być unikatowa w Azure i zawierać od 5 do 50 znaków alfanumerycznych. Dozwolone są tylko małe litery. Podstawowa jednostka SKU to zoptymalizowany pod kątem kosztów punkt wejścia do celów programistycznych zapewniający równowagę między przestrzenią dyskową i przepływnością.
Utwórz grupę zasobów Azure przy użyciu polecenia az group create. W poniższym przykładzie tworzona jest grupa zasobów o nazwie myResourceGroup w lokalizacji eastus.
az group create --name myResourceGroup --location eastusUtwórz Azure Container Registry o unikatowej nazwie, wywołując polecenie az acr create. Poniższy przykład tworzy repozytorium ACR o nazwie myhelmacr z parametrem SKU Basic.
az acr create --resource-group myResourceGroup --name myhelmacr --sku BasicDane wyjściowe powinny wyglądać podobnie do następujących skróconych przykładowych danych wyjściowych. Zanotuj wartość loginServer do użycia dla ACR w późniejszym etapie.
{ "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" }
Tworzenie klastra AKS
Nowy klaster usługi AKS musi mieć dostęp do usługi ACR, aby ściągnąć obrazy kontenerów i uruchomić je.
Utwórz klaster usługi AKS przy użyciu polecenia az aks create z parametrem
--attach-acrw celu udzielenia klastrowi dostępu do usługi ACR. Poniższy przykład tworzy klaster AKS o nazwie myAKSCluster i przyznaje mu dostęp do ACR myhelmacr. Pamiętaj, aby zastąpićmyhelmacrnazwą ACR.az aks create --resource-group myResourceGroup --name myAKSCluster --location eastus --attach-acr myhelmacr --generate-ssh-keys
Nawiązywanie połączenia z klastrem usługi AKS
Aby połączyć klaster Kubernetes lokalnie, należy użyć klienta wiersza polecenia Kubernetes, kubectl.
kubectl jest już zainstalowany, jeśli używasz Azure Cloud Shell.
Zainstaluj
kubectllokalnie używając polecenia az aks install-cli .az aks install-cliSkonfiguruj
kubectl, aby nawiązać połączenie z klastrem Kubernetes przy użyciu polecenia az aks get-credentials. Następujące polecenie pobiera poświadczenia dla klastra AKS o nazwie myAKSCluster w myResourceGroup.az aks get-credentials --resource-group myResourceGroup --name myAKSCluster
Pobieranie przykładowej aplikacji
Ten szybki start używa aplikacji Azure Vote.
Sklonuj aplikację z GitHub przy użyciu polecenia
git clone.git clone https://github.com/Azure-Samples/azure-voting-app-redis.gitPrzejdź do
azure-votekatalogu przy użyciucdpolecenia .cd azure-voting-app-redis/azure-vote/
Kompilowanie i wypychanie przykładowej aplikacji do usługi ACR
Zbuduj i wypchnij obraz do ACR przy użyciu polecenia az acr build. Poniższy przykład tworzy obraz o nazwie azure-vote-front:v1 i wypycha go do myhelmacr ACR. Pamiętaj, aby zastąpić
myhelmacrnazwą ACR.az acr build --image azure-vote-front:v1 --registry myhelmacr --file Dockerfile .
Uwaga
Możesz również zaimportować wykresy programu Helm do usługi ACR. Aby uzyskać więcej informacji, zobacz Wysyłanie i pobieranie diagramów Helm do rejestru kontenerów Azure.
Tworzenie wykresu programu Helm
Wygeneruj wykres Helm, używając polecenia
helm create.helm create azure-vote-frontZaktualizuj azure-vote-front/Chart.yaml, aby dodać zależność dla chartu redis z
https://charts.bitnami.com/bitnamirepozytorium chartów i zaktualizowaćappVersiondov1, jak pokazano w poniższym przykładzie.Uwaga
Wersje obrazów kontenera pokazane w tym przewodniku zostały przetestowane pod kątem pracy z tym przykładem, ale mogą nie być najnowszą dostępną wersją.
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: v1Użyciu polecenia
helm dependency update, aby zaktualizować zależności wykresu Helm.helm dependency update azure-vote-frontZaktualizuj plik azure-vote-front/values.yaml , wykonując następujące zmiany.
- Dodaj sekcję redis , aby ustawić szczegóły obrazu, port kontenera i nazwę wdrożenia.
- Dodaj backendName w celu połączenia części frontendowej z wdrożeniem Redis.
- Zmień plik image.repository na
<loginServer>/azure-vote-front. - Zmień wartość image.tag na
v1. - Zmień service.type na LoadBalancer.
Na przykład:
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 ...Dodaj sekcję
envdo pliku azure-vote-front/templates/deployment.yaml, aby przekazać nazwę wdrożenia 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 }} ...
Uruchom wykres Helm
Zainstaluj aplikację za pomocą wykresu Helm, korzystając z polecenia
helm install.helm install azure-vote-front azure-vote-front/Usługa potrzebuje kilku minut, aby zwrócić publiczny adres IP. Monitoruj postęp za pomocą
kubectl get servicepolecenia z argumentem--watch.kubectl get service azure-vote-front --watchGdy usługa jest gotowa,
EXTERNAL-IPwartość zmienia się z<pending>na adres IP. NaciśnijCTRL+C, aby zatrzymać proces monitorowaniakubectl.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 2m6sPrzejdź do modułu równoważenia obciążenia aplikacji w przeglądarce przy użyciu polecenia ,
<EXTERNAL-IP>aby wyświetlić przykładową aplikację.
Usuwanie klastra
Usuń grupę zasobów, klaster usługi AKS, rejestr kontenerów Azure, obrazy kontenerów przechowywane w rejestrze ACR i wszystkie powiązane zasoby przy użyciu polecenia az group delete z parametrem
--yesw celu potwierdzenia usunięcia oraz z parametrem--no-waitpowracającego do wiersza poleceń bez oczekiwania na zakończenie operacji.az group delete --name myResourceGroup --yes --no-wait
Uwaga
Jeśli klaster usługi AKS został utworzony przy użyciu tożsamości zarządzanej przypisanej przez system (domyślna opcja tożsamości w tym szybkim przewodniku), tożsamość jest zarządzana przez platformę i nie wymaga usunięcia.
Jeśli klaster usługi AKS został utworzony przy użyciu jednostki usługi, jednostka usługi nie zostanie usunięta po usunięciu klastra. Aby usunąć jednostkę usługi, zobacz Rozważania dotyczące jednostki usługi AKS i jej usuwania.
Następne kroki
Aby uzyskać więcej informacji na temat korzystania z programu Helm, zobacz dokumentację programu Helm.