Udostępnij za pośrednictwem


Instalowanie istniejących aplikacji za pomocą zestawu Helm

Dotyczy: AKS na platformie Azure Local 22H2, AKS na Windows Server

W tym artykule opisano sposób konfigurowania i używania programu Helm do instalowania aplikacji Kubernetes i zarządzania nimi w klastrze Kubernetes w usłudze AKS włączonej przez usługę Azure Arc.

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 Sum, program Helm zarządza wykresami Kubernetes, które są pakietami wstępnie skonfigurowanych zasobów Kubernetes.

Zanim rozpoczniesz

Sprawdź, czy skonfigurowaliśmy następujące wymagania:

Ważne

Program Helm jest przeznaczony do uruchamiania w węzłach systemu Linux. Jeśli klaster ma węzły systemu Windows Server, należy upewnić się, że zasobniki programu Helm mają być uruchamiane tylko w węzłach systemu Linux. Należy również upewnić się, że wszystkie zainstalowane wykresy programu Helm mają być uruchamiane na odpowiednich węzłach. Polecenia w tym artykule używają selektorów węzłów, aby upewnić się, że zasobniki są zaplanowane do odpowiednich węzłów, ale nie wszystkie wykresy programu Helm uwidaczniają selektor węzła. Możesz również użyć innych opcji, takich jak defekty, w klastrze.

Weryfikowanie wersji programu Helm

helm version Użyj polecenia , aby sprawdzić, czy masz zainstalowane narzędzie Helm 3:

helm version

Poniższy przykład przedstawia zainstalowany program Helm w wersji 3.5.4:

version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"clean", GoVersion:"go1.15.11"}

Instalowanie aplikacji za pomocą programu Helm w wersji 3

Dodawanie repozytoriów programu Helm

Użyj polecenia helm repo, aby dodać repozytorium ingress-nginx.

helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx

Znajdowanie wykresów programu Helm

Wykresy helm służą do wdrażania aplikacji w klastrze Kubernetes. Aby wyszukać wstępnie utworzone wykresy helm, użyj polecenia wyszukiwania helm:

helm search repo ingress-nginx

Następujące skrócone przykładowe dane wyjściowe pokazują niektóre wykresy helm dostępne do użycia:

NAME                            CHART VERSION   APP VERSION     DESCRIPTION                                       
ingress-nginx/ingress-nginx     3.30.0          0.46.0          Ingress controller for Kubernetes using NGINX a...

Aby zaktualizować listę wykresów, użyj polecenia update repozytorium helm.

helm repo update

W poniższym przykładzie przedstawiono pomyślną aktualizację repozytorium:

Hang tight while we grab the latest from your chart repositories...
...Successfully got an update from the "ingress-nginx" chart repository
Update Complete. Happy Helming!

Uruchamianie wykresów programu Helm

Aby zainstalować wykresy za pomocą programu Helm, użyj polecenia instalacji narzędzia Helm i określ nazwę wydania oraz nazwę wykresu do zainstalowania. Aby zobaczyć instalację pakietu Helm w akcji, zainstaluj podstawowe wdrożenie serwera nginx przy użyciu pakietu Helm.

Następujące polecenie jest udostępniane dwa razy, jedno do użycia w interfejsie wiersza polecenia platformy Azure i jedno do użycia w konsoli programu PowerShell:

helm install my-nginx-ingress ingress-nginx/ingress-nginx \
    --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
    --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux
helm install my-nginx-ingress ingress-nginx/ingress-nginx `
    --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux `
    --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux

Następujące skrócone przykładowe dane wyjściowe pokazują stan wdrożenia zasobów Kubernetes utworzonych przez pakiet Helm:

>     --set controller.nodeSelector."beta\.kubernetes\.io/os"=linux \
>     --set defaultBackend.nodeSelector."beta\.kubernetes\.io/os"=linux

NAME: my-nginx-ingress
LAST DEPLOYED: Fri May 14 17:43:27 2021
NAMESPACE: default
STATUS: deployed
REVISION: 1
TEST SUITE: None
NOTES:
The nginx-ingress controller has been installed.
It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status by running 'kubectl --namespace default get services -o wide -w my-nginx-ingress-ingress-nginx-controller'
...

kubectl get services Użyj polecenia , aby uzyskać zewnętrzny adres IP usługi:

kubectl --namespace default get services -o wide -w my-nginx-ingress-ingress-nginx-controller

Na przykład następujące polecenie pokazuje adres EXTERNAL-IP dla usługi my-nginx-ingress-ingress-nginx-controller :

NAME                                        TYPE           CLUSTER-IP   EXTERNAL-IP      PORT(S)                      AGE   SELECTOR
my-nginx-ingress-ingress-nginx-controller   LoadBalancer   10.98.53.215 <EXTERNAL-IP>    80:31553/TCP,443:30784/TCP   72s   app.kubernetes.io/component=controller,app.kubernetes.io/instance=my-nginx-ingress,app.kubernetes.io/name=ingress-nginx

Wyświetlanie listy wydań

Aby wyświetlić listę wersji zainstalowanych w klastrze, użyj helm list polecenia .

helm list

W poniższym przykładzie pokazano wydanie ruchu przychodzącego my-nginx wdrożone w poprzednim kroku:

NAME                NAMESPACE    REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
my-nginx-ingress    default      1           2021-05-14 17:43:27.1670709 +0000 UTC    deployed    nginx-ingress-3.30.0    0.46.0 

Czyszczenie zasobów

Podczas wdrażania wykresu programu Helm jest tworzonych wiele zasobów kubernetes. Te zasoby obejmują zasobniki, wdrożenia i usługi. Aby wyczyścić te zasoby, użyj polecenia dezinstalacji narzędzia Helm i określ nazwę wydania, jak znaleziono w poprzednim helm list poleceniu:

helm uninstall my-nginx-ingress

Następujące przykładowe dane wyjściowe pokazują, że wersja my-nginx-ingress została odinstalowana:

release "my-nginx-ingress" uninstalled

Następne kroki

Aby uzyskać więcej informacji na temat zarządzania wdrożeniami aplikacji Kubernetes za pomocą programu Helm, zobacz dokumentację programu Helm.