Bestaande toepassingen met helm in azure Kubernetes service (AKS) installerenInstall existing applications with Helm in Azure Kubernetes Service (AKS)

Helm is een open-source-verpakkings programma waarmee u de levens cyclus van Kubernetes-toepassingen kunt installeren en beheren.Helm is an open-source packaging tool that helps you install and manage the lifecycle of Kubernetes applications. Net als Linux-pakket beheerders, zoals apt en yum, wordt helm gebruikt voor het beheren van Kubernetes-grafieken, die pakketten van vooraf geconfigureerde Kubernetes-resources zijn.Similar to Linux package managers such as APT and Yum, Helm is used to manage Kubernetes charts, which are packages of preconfigured Kubernetes resources.

In dit artikel wordt beschreven hoe u helm configureert en gebruikt in een Kubernetes-cluster op AKS.This article shows you how to configure and use Helm in a Kubernetes cluster on AKS.

Voordat u begintBefore you begin

In dit artikel wordt ervan uitgegaan dat u beschikt over een bestaand AKS-cluster.This article assumes that you have an existing AKS cluster. Als u een AKS-cluster nodig hebt, raadpleegt u de AKS Quick Start met behulp van de Azure cli of met behulp van de Azure Portal.If you need an AKS cluster, see the AKS quickstart using the Azure CLI or using the Azure portal.

U hebt ook de helm CLI geïnstalleerd. Dit is de client die wordt uitgevoerd op uw ontwikkel systeem.You also need the Helm CLI installed, which is the client that runs on your development system. Hiermee kunt u toepassingen starten, stoppen en beheren met helm.It allows you to start, stop, and manage applications with Helm. Als u de Azure Cloud Shell gebruikt, is de CLI van helm al geïnstalleerd.If you use the Azure Cloud Shell, the Helm CLI is already installed. Zie Installing helm(Engelstalig) voor installatie-instructies op uw lokale platform.For installation instructions on your local platform, see Installing Helm.

Belangrijk

Helm is bedoeld om te worden uitgevoerd op Linux-knoop punten.Helm is intended to run on Linux nodes. Als u Windows Server-knoop punten in uw cluster hebt, moet u ervoor zorgen dat helm peul alleen wordt gepland voor uitvoering op Linux-knoop punten.If you have Windows Server nodes in your cluster, you must ensure that Helm pods are only scheduled to run on Linux nodes. U moet er ook voor zorgen dat alle helm-grafieken die u installeert, ook zijn gepland voor uitvoering op de juiste knoop punten.You also need to ensure that any Helm charts you install are also scheduled to run on the correct nodes. Met de opdrachten in dit artikel wordt gebruikgemaakt van [node-Selects] [K8S-node-selector] om ervoor te zorgen dat de juiste knoop punten worden gepland, maar niet alle helm-grafieken kunnen een knooppunt kiezer weer geven.The commands in this article use [node-selectors][k8s-node-selector] to make sure pods are scheduled to the correct nodes, but not all Helm charts may expose a node selector. U kunt ook overwegen andere opties in uw cluster te gebruiken, zoals taints.You can also consider using other options on your cluster, such as taints.

Uw versie van helm controlerenVerify your version of Helm

Gebruik de helm version opdracht om te controleren of helm 3 is geïnstalleerd:Use the helm version command to verify you have Helm 3 installed:

helm version

In het volgende voor beeld ziet u dat helm-versie 3.0.0 is geïnstalleerd:The following example shows Helm version 3.0.0 installed:

$ helm version

version.BuildInfo{Version:"v3.0.0", GitCommit:"e29ce2a54e96cd02ccfce88bee4f58bb6e2a28b6", GitTreeState:"clean", GoVersion:"go1.13.4"}

Een toepassing installeren met helm v3Install an application with Helm v3

De officiële helm-opslag plaats met stabiele grafieken toevoegenAdd the official Helm stable charts repository

Gebruik de helm opslag plaats opdracht voor het toevoegen van de opslag plaats officiële helm stabiele grafieken.Use the helm repo command to add the official Helm stable charts repository.

helm repo add stable https://kubernetes-charts.storage.googleapis.com/

Helm-grafieken zoekenFind Helm charts

Helm-grafieken worden gebruikt voor het implementeren van toepassingen in een Kubernetes-cluster.Helm charts are used to deploy applications into a Kubernetes cluster. Gebruik de helm-Zoek opdracht om te zoeken naar vooraf gemaakte helm-grafieken:To search for pre-created Helm charts, use the helm search command:

helm search repo stable

In de volgende gecomprimeerde voorbeeld uitvoer ziet u enkele van de helm-grafieken die beschikbaar zijn voor gebruik:The following condensed example output shows some of the Helm charts available for use:

$ helm search repo stable

NAME                                    CHART VERSION   APP VERSION                     DESCRIPTION                                       
stable/acs-engine-autoscaler            2.2.2           2.1.1                           DEPRECATED Scales worker nodes within agent pools 
stable/aerospike                        0.3.1           v4.5.0.5                        A Helm chart for Aerospike in Kubernetes          
stable/airflow                          4.10.0          1.10.4                          Airflow is a platform to programmatically autho...
stable/ambassador                       4.4.7           0.85.0                          A Helm chart for Datawire Ambassador              
stable/anchore-engine                   1.3.7           0.5.2                           Anchore container analysis and policy evaluatio...
stable/apm-server                       2.1.5           7.0.0                           The server receives data from the Elastic APM a...
stable/ark                              4.2.2           0.10.2                          DEPRECATED A Helm chart for ark                   
stable/artifactory                      7.3.1           6.1.0                           DEPRECATED Universal Repository Manager support...
stable/artifactory-ha                   0.4.1           6.2.0                           DEPRECATED Universal Repository Manager support...
stable/atlantis                         3.8.4           v0.8.2                          A Helm chart for Atlantis https://www.runatlant...
stable/auditbeat                        1.1.0           6.7.0                           A lightweight shipper to audit the activities o...
stable/aws-cluster-autoscaler           0.3.3                                           Scales worker nodes within autoscaling groups.    
stable/aws-iam-authenticator            0.1.1           1.0                             A Helm chart for aws-iam-authenticator            
stable/bitcoind                         0.2.2           0.17.1                          Bitcoin is an innovative payment network and a ...
stable/bookstack                        1.1.2           0.27.4-1                        BookStack is a simple, self-hosted, easy-to-use...
stable/buildkite                        0.2.4           3                               DEPRECATED Agent for Buildkite                    
stable/burrow                           1.5.2           0.29.0                          Burrow is a permissionable smart contract machine 
stable/centrifugo                       3.1.0           2.1.0                           Centrifugo is a real-time messaging server.       
stable/cerebro                          1.3.1           0.8.5                           A Helm chart for Cerebro - a web admin tool tha...
stable/cert-manager                     v0.6.7          v0.6.2                          A Helm chart for cert-manager                     
stable/chaoskube                        3.1.2           0.14.0                          Chaoskube periodically kills random pods in you...
stable/chartmuseum                      2.4.0           0.8.2                           Host your own Helm Chart Repository               
stable/chronograf                       1.1.0           1.7.12                          Open-source web application written in Go and R...
stable/clamav                           1.0.4           1.6                             An Open-Source antivirus engine for detecting t...
stable/cloudserver                      1.0.3           8.1.5                           An open-source Node.js implementation of the Am...
stable/cluster-autoscaler               6.2.0           1.14.6                          Scales worker nodes within autoscaling groups.    
stable/cluster-overprovisioner          0.2.6           1.0                             Installs the a deployment that overprovisions t...
stable/cockroachdb                      2.1.16          19.1.5                          CockroachDB is a scalable, survivable, strongly...
stable/collabora-code                   1.0.5           4.0.3.1                         A Helm chart for Collabora Office - CODE-Edition  
stable/concourse                        8.2.7           5.6.0                           Concourse is a simple and scalable CI system.     
stable/consul                           3.9.2           1.5.3                           Highly available and distributed service discov...
stable/contour                          0.1.0           v0.15.0                         Contour Ingress controller for Kubernetes         
stable/coredns                          1.7.4           1.6.4                           CoreDNS is a DNS server that chains plugins and...
stable/cosbench                         1.0.1           0.0.6                           A benchmark tool for cloud object storage services
stable/coscale                          1.0.0           3.16.0                          CoScale Agent                                     
stable/couchbase-operator               1.0.1           1.2.1                           A Helm chart to deploy the Couchbase Autonomous...
stable/couchdb                          2.3.0           2.3.1                           DEPRECATED A database featuring seamless multi-...
stable/dask                             3.1.0           1.1.5                           Distributed computation in Python with task sch...
stable/dask-distributed                 2.0.2                                           DEPRECATED: Distributed computation in Python     
stable/datadog                          1.38.3          6.14.0                          DataDog Agent 
...

Als u de lijst met grafieken wilt bijwerken, gebruikt u de opdracht helm opslag plaats update .To update the list of charts, use the helm repo update command.

helm repo update

In het volgende voor beeld ziet u een geslaagde opslag plaats-update:The following example shows a successful repo update:

$ helm repo update

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

Helm-grafieken uitvoerenRun Helm charts

Als u grafieken met helm wilt installeren, gebruikt u de installatie opdracht helm en geeft u een release naam en de naam van de grafiek op die u wilt installeren.To install charts with Helm, use the helm install command and specify a release name and the name of the chart to install. Als u de installatie van een helm-diagram in actie wilt zien, kunt u een eenvoudige nginx-implementatie installeren met behulp van een helm-grafiek.To see installing a Helm chart in action, let's install a basic nginx deployment using a Helm chart.

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

In de volgende verkorte voorbeeld uitvoer ziet u de implementatie status van de Kubernetes-resources die zijn gemaakt door de helm-grafiek:The following condensed example output shows the deployment status of the Kubernetes resources created by the Helm chart:

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

NAME: my-nginx-ingress
LAST DEPLOYED: Fri Nov 22 10:08:06 2019
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-controller'
...

Gebruik de kubectl get services opdracht om het externe IP-adres van uw service op te halen.Use the kubectl get services command to get the EXTERNAL-IP of your service.

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

De onderstaande opdracht toont bijvoorbeeld het externe IP-adres voor de service My-nginx-ingress-controller :For example, the below command shows the EXTERNAL-IP for the my-nginx-ingress-controller service:

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

NAME                          TYPE           CLUSTER-IP     EXTERNAL-IP     PORT(S)                      AGE   SELECTOR
my-nginx-ingress-controller   LoadBalancer   10.0.123.1     <EXTERNAL-IP>   80:31301/TCP,443:31623/TCP   96s   app=nginx-ingress,component=controller,release=my-nginx-ingress

Releases weer gevenList releases

Gebruik de opdracht om een lijst weer te geven met releases die op uw cluster zijn geïnstalleerd helm list .To see a list of releases installed on your cluster, use the helm list command.

helm list

In het volgende voor beeld ziet u de release van mijn nginx-ingang die in de vorige stap is geïmplementeerd:The following example shows the my-nginx-ingress release deployed in the previous step:

$ helm list

NAME                NAMESPACE   REVISION    UPDATED                                 STATUS      CHART                   APP VERSION
my-nginx-ingress    default     1           2019-11-22 10:08:06.048477 -0600 CST    deployed    nginx-ingress-1.25.0    0.26.1 

Resources opschonenClean up resources

Wanneer u een helm-grafiek implementeert, worden er een aantal Kubernetes-resources gemaakt.When you deploy a Helm chart, a number of Kubernetes resources are created. Deze resources omvatten Peul, implementaties en services.These resources include pods, deployments, and services. Als u deze resources wilt opschonen, gebruikt u de opdracht helm uninstall en geeft u de naam van uw release op, zoals gevonden in de vorige helm list opdracht.To clean up these resources, use the helm uninstall command and specify your release name, as found in the previous helm list command.

helm uninstall my-nginx-ingress

In het volgende voor beeld ziet u de release met de naam mijn-nginx-ingress is verwijderd:The following example shows the release named my-nginx-ingress has been uninstalled:

$ helm uninstall my-nginx-ingress

release "my-nginx-ingress" uninstalled

Volgende stappenNext steps

Zie de helm-documentatie voor meer informatie over het beheren van Kubernetes-toepassings implementaties met helm.For more information about managing Kubernetes application deployments with Helm, see the Helm documentation.