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.
Van toepassing op: AKS op Windows Server
In dit artikel wordt beschreven hoe u Helm configureert en gebruikt voor het installeren en beheren van Kubernetes-toepassingen in een Kubernetes-cluster in AKS op Windows Server.
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 Sum, die pakketten van vooraf geconfigureerde Kubernetes-resources zijn.
Voordat u begint
Controleer of u de volgende vereisten hebt ingesteld:
- Een Kubernetes-cluster met ten minste één Linux-werkknooppunt dat actief is.
- U hebt uw lokale
kubectl
omgeving zo geconfigureerd dat deze verwijst naar uw cluster. U kunt de Opdracht Get-AksHciCredential PowerShell gebruiken om toegang te krijgen tot uw cluster met behulp vankubectl
. - Helm v3-opdrachtregel en -vereisten zijn geïnstalleerd.
- U kunt Azure CLI gebruiken om opdrachten uit te voeren, als u dit liever hebt dan PowerShell.
Belangrijk
Helm is bedoeld om te worden uitgevoerd op Linux-knooppunten. Als uw cluster Windows Server-knooppunten heeft, moet u ervoor zorgen dat Helm-pods alleen worden uitgevoerd op Linux-knooppunten. U moet er ook voor zorgen dat de Helm-charts die u installeert, zijn ingesteld om op de juiste knooppunten te draaien. De opdrachten in dit artikel gebruiken knooppuntkiezers om ervoor te zorgen dat pods zijn gepland op de juiste knooppunten, maar niet in alle Helm-grafieken wordt een knooppuntkiezer weergegeven. U kunt ook andere opties, zoals taints, in uw cluster gebruiken.
Uw versie van Helm controleren
Gebruik de helm version
opdracht om te controleren of Helm 3 is geïnstalleerd:
helm version
In het volgende voorbeeld ziet u dat Helm versie 3.5.4 is geïnstalleerd:
version.BuildInfo{Version:"v3.5.4", GitCommit:"1b5edb69df3d3a08df77c9902dc17af864ff05d1", GitTreeState:"clean", GoVersion:"go1.15.11"}
Een toepassing installeren met Helm v3
Helm opslagplaatsen toevoegen
Gebruik de helm repo-opdracht om de ingress-nginx repository toe te voegen.
helm repo add ingress-nginx https://kubernetes.github.io/ingress-nginx
Helm-grafieken zoeken
Helm-grafieken worden gebruikt voor het implementeren van toepassingen in een Kubernetes-cluster. Als u wilt zoeken naar vooraf gemaakte Helm-grafieken, gebruikt u de Helm-zoekopdracht :
helm search repo ingress-nginx
In de volgende verkorte voorbeelduitvoer ziet u enkele van de Helm-grafieken die beschikbaar zijn voor gebruik:
NAME CHART VERSION APP VERSION DESCRIPTION
ingress-nginx/ingress-nginx 3.30.0 0.46.0 Ingress controller for Kubernetes using NGINX a...
Gebruik de opdracht helm repo update om de lijst met charts bij te werken.
helm repo update
In het volgende voorbeeld ziet u een geslaagde opslagplaatsupdate:
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!
Helm-grafieken uitvoeren
Als u grafieken wilt installeren met Helm, gebruikt u de helm-installatieopdracht en geeft u een releasenaam en de naam van de grafiek op die u wilt installeren. Als u de installatie van een Helm-grafiek in actie wilt zien, installeert u een eenvoudige nginx-implementatie met behulp van een Helm-grafiek.
De volgende opdracht wordt twee keer gegeven, één voor gebruik in Azure CLI en één voor gebruik in een PowerShell-console:
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
In de volgende verkorte voorbeelduitvoer ziet u de implementatiestatus van de Kubernetes-resources die door de Helm-grafiek zijn gemaakt:
> --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'
...
Gebruik de kubectl get services
opdracht om het EXTERNE IP-adres van uw service op te halen:
kubectl --namespace default get services -o wide -w my-nginx-ingress-ingress-nginx-controller
Met de volgende opdracht ziet u bijvoorbeeld het EXTERNAL-IP-adres voor de service 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
Releases opsommen
Gebruik de helm list
opdracht om een lijst met releases weer te geven die op uw cluster zijn geïnstalleerd.
helm list
In het volgende voorbeeld ziet u de release my-nginx-ingress die in de vorige stap is geïmplementeerd:
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
Hulpmiddelen opschonen
Wanneer u een Helm-grafiek implementeert, worden er veel Kubernetes-resources gemaakt. Deze resources omvatten pods, implementaties en diensten. Als u deze resources wilt opschonen, gebruikt u de opdracht Helm-verwijdering en geeft u de releasenaam op, zoals u in de vorige helm list
opdracht hebt gevonden:
helm uninstall my-nginx-ingress
In de volgende voorbeelduitvoer ziet u dat de release my-nginx-ingress is verwijderd:
release "my-nginx-ingress" uninstalled
Volgende stappen
Zie de Helm-documentatie voor meer informatie over het beheren van Kubernetes-toepassingsimplementaties met Helm.