Verwenden Sie Azure Container Registry als Helm-Repository für Ihre AnwendungsdiagrammeUse Azure Container Registry as a Helm repository for your application charts

Sie können den Open Source-Paket-Manager von Helm verwenden, um Anwendungen für Kubernetes ohne großen Aufwand zu verwalten und bereitzustellen.To quickly manage and deploy applications for Kubernetes, you can use the open-source Helm package manager. Bei Helm werden Anwendungen als Diagramme definiert, die in einem Helm-Repository für Diagramme gespeichert werden.With Helm, applications are defined as charts that are stored in a Helm chart repository. In diesen Diagrammen werden Konfigurationen und Abhängigkeiten definiert. Darüber hinaus können sie im gesamten Anwendungslebenszyklus mit einer Versionsangabe versehen werden.These charts define configurations and dependencies, and can be versioned throughout the application lifecycle. Azure Container Registry kann als Host für Helm-Repositorys für Diagramme verwendet werden.Azure Container Registry can be used as the host for Helm chart repositories.

Mit Azure Container Registry verfügen Sie über ein privates, sicheres Helm-Repository für Diagramme, das in Buildpipelines oder andere Azure-Dienste integriert werden kann.With Azure Container Registry, you have a private, secure Helm chart repository, that can integrate with build pipelines or other Azure services. Helm-Repositorys für Diagramme in Azure Container Registry umfassen Georeplikationsfunktionen, damit Ihre Diagramme eng mit Bereitstellungen verbunden sind sowie zu Redundanzzwecken.Helm chart repositories in Azure Container Registry include geo-replication features to keep your charts close to deployments and for redundancy. Sie zahlen nur für den Speicher, der von den Diagrammen genutzt wird, und Ihnen stehen sämtliche Azure Container Registry-Tarife zur Verfügung.You only pay for the storage used by the charts, and are available across all Azure Container Registry price tiers.

In diesem Artikel wird die Verwendung eines Helm-Repositorys für Diagramme erläutert, das in Azure Container Registry gespeichert ist.This article shows you how to use a Helm chart repository stored in Azure Container Registry.

Wichtig

Diese Funktion steht derzeit als Vorschau zur Verfügung.This feature is currently in preview. Vorschauversionen werden Ihnen zur Verfügung gestellt, wenn Sie die zusätzlichen Nutzungsbedingungen akzeptieren.Previews are made available to you on the condition that you agree to the supplemental terms of use. Einige Aspekte dieses Features werden bis zur allgemeinen Verfügbarkeit unter Umständen noch geändert.Some aspects of this feature may change prior to general availability (GA).

VoraussetzungenBefore you begin

Für die Schritte in diesem Artikel müssen folgende Voraussetzungen erfüllt sein:To complete the steps in this article, the following pre-requisites must be met:

  • Azure Container Registry: Erstellen Sie in Ihrem Azure-Abonnement eine Containerregistrierung.Azure Container Registry - Create a container registry in your Azure subscription. Verwenden Sie beispielsweise das Azure-Portal oder die Azure CLI.For example, use the Azure portal or the Azure CLI.
  • Version 2.11.0 oder höher des Helm-Clients (keine RC-Version): Führen Sie helm version aus, um Ihre aktuelle Version zu ermitteln.Helm client version 2.11.0 (not an RC version) or later - Run helm version to find your current version. Darüber hinaus benötigen Sie einen Helm-Server (Tiller), der in einem Kubernetes-Cluster initialisiert wird.You also need a Helm server (Tiller) initialized within a Kubernetes cluster. Bei Bedarf können Sie einen Azure Kubernetes Service-Cluster erstellen.If needed, you can create an Azure Kubernetes Service cluster. Weitere Informationen zum Installieren und Aktualisieren von Helm finden Sie unter Installieren von Helm.For more information on how to install and upgrade Helm, see Installing Helm.
  • Azure CLI-Version 2.0.46 oder höher : Führen Sie az --version aus, um die Version zu ermitteln.Azure CLI version 2.0.46 or later - Run az --version to find the version. Informationen zum Durchführen einer Installation oder eines Upgrades finden Sei bei Bedarf unter Installieren der Azure CLI.If you need to install or upgrade, see Install Azure CLI.

Hinzufügen eines Repositorys zum Helm-ClientAdd a repository to Helm client

Ein Helm-Repository ist ein HTTP-Server, auf dem Helm-Diagramme gespeichert werden können.A Helm repository is an HTTP server that can store Helm charts. Azure Container Registry kann diesen Speicher für Helm-Diagramme bereitstellen und die Indexdefinition verwalten, während Sie Diagramme zum Repository hinzufügen und daraus entfernen.Azure Container Registry can provide this storage for Helm charts, and manage the index definition as you add and remove charts to the repository.

Sie können Ihre Azure Container Registry als Repository für Helm-Diagramme über die Azure CLI hinzufügen.To add your Azure Container Registry as a Helm chart repository, you use the Azure CLI. Bei diesem Ansatz wird Ihr Helm-Client mit dem URI und den Anmeldeinformationen für das von Azure Container Registry unterstützte Repository aktualisiert.With this approach, your Helm client is updated with the URI and credentials for the repository backed by Azure Container Registry. Sie müssen diese Repositoryinformationen nicht manuell eingeben. Die Anmeldeinformationen werden folglich beispielsweise nicht im Befehlsverlauf verfügbar gemacht.You don't need to manually specify this repository information, so the credentials aren't exposed in the command history, for example.

Melden Sie sich bei Bedarf bei der Azure CLI an, und befolgen Sie die Eingabeaufforderungen:If needed, log in to the Azure CLI and follow the prompts:

az login

Konfigurieren Sie mithilfe des Befehls az configure die Standardwerte für die Azure-Befehlszeilenschnittstelle mit dem Namen Ihrer Azure Container Registry-Instanz.Configure the Azure CLI defaults with the name of your Azure Container Registry using the az configure command. Ersetzen Sie im folgenden Beispiel <acrName> durch den Namen Ihrer Registrierung:In the following example, replace <acrName> with the name of your registry:

az configure --defaults acr=<acrName>

Fügen Sie nun Ihrem Helm-Client mithilfe des Befehls az acr helm repo add Ihr Azure Container Registry-Helm-Chart-Repository hinzu.Now add your Azure Container Registry Helm chart repository to your Helm client using the az acr helm repo add command. Mit diesem Befehl wird ein Authentifizierungstoken für Ihre Azure Container Registry abgerufen, das vom Helm-Client verwendet wird.This command gets an authentication token for your Azure container registry that is used by the Helm client. Das Authentifizierungstoken ist eine Stunde lang gültig.The authentication token is valid for 1 hour. Ähnlich wie docker login können Sie diesen Befehl in zukünftigen CLI-Sitzungen ausführen, um Ihren Helm-Client bei Ihrem Helm-Repository für Diagramme in Azure Container Registry zu authentifizieren:Similar to docker login, you can run this command in future CLI sessions to authenticate your Helm client with your Azure Container Registry Helm chart repository:

az acr helm repo add

Hinzufügen eines Diagramms zum RepositoryAdd a chart to the repository

Für diesen Artikel rufen wir aus dem öffentlichen Helm-Repository stable ein vorhandenes Helm-Diagramm ab.For this article, let's get an existing Helm chart from the public Helm stable repo. Bei dem Repository stable handelt es sich um ein zusammengestelltes, öffentliches Repository, das allgemeine Anwendungsdiagramme enthält.The stable repo is a curated, public repo that includes common application charts. Paketverwalter können ihre Diagramme an das Repository stable übermitteln. Auf gleiche Weise stellt der Docker-Hub eine öffentliche Registrierung für allgemeine Containerimages bereit.Package maintainers can submit their charts to the stable repo, in the same way that Docker Hub provides a public registry for common container images. Anschließend kann das über das Repository stable heruntergeladene Diagramm mithilfe von Push in Ihr privates Azure Container Registry-Repository übertragen werden.The chart downloaded from the public stable repo can then be pushed to your private Azure Container Registry repository. In den meisten Szenarios würden Sie für die von Ihnen entwickelten Anwendungen Ihre eigenen Diagramme erstellen und hochladen.In most scenarios, you would build and upload your own charts for the applications you develop. Weitere Informationen zum Erstellen eigener Helm-Charts finden Sie unter Charts.For more information on how to build your own Helm charts, see developing Helm charts.

Erstellen Sie zunächst unter ~/acr-helm ein Verzeichnis, und laden Sie anschließend das vorhandene Diagramm stable/wordpress herunter:First, create a directory at ~/acr-helm, then download the existing stable/wordpress chart:

mkdir ~/acr-helm && cd ~/acr-helm
helm fetch stable/wordpress

Listen Sie das heruntergeladene Diagramm auf, und notieren Sie sich die im Dateinamen enthaltene Wordpress-Version.List the downloaded chart, and note the Wordpress version included in the filename. Durch den Befehl helm fetch stable/wordpress wird keine bestimmte Version angegeben. Daher wurde die aktuelle Version abgerufen.The helm fetch stable/wordpress command didn't specify a particular version, so the latest version was fetched. Alle Helm-Charts enthalten gemäß dem Standard SemVer 2 eine Versionsnummer im Dateinamen.All Helm charts include a version number in the filename that follows the SemVer 2 standard. In der folgenden Beispielausgabe weist das Wordpress-Diagramm die Version 2.1.10 auf:In the following example output, the Wordpress chart is version 2.1.10:

$ ls

wordpress-2.1.10.tgz

Pushen Sie das Chart nun über die Azure-Befehlszeilenschnittstelle mithilfe des Befehls az acr helm push in Ihr Helm-Chart-Repository in Azure Container Registry.Now push the chart to your Helm chart repository in Azure Container Registry using the Azure CLI az acr helm push command. Geben Sie den Namen des Helm-Diagramms an, das Sie im vorherigen Schritt heruntergeladen haben, wie z.B. Wordpress-2.1.10.tgz:Specify the name of your Helm chart downloaded in the previous step, such as wordpress-2.1.10.tgz:

az acr helm push wordpress-2.1.10.tgz

Nach kurzer Zeit meldet die Azure CLI, dass Ihr Diagramm gespeichert wurde, wie in der folgenden Beispielausgabe gezeigt wird:After a few moments, the Azure CLI reports that your chart has been saved, as shown in the following example output:

$ az acr helm push wordpress-2.1.10.tgz

{
  "saved": true
}

Auflisten von Diagrammen im RepositoryList charts in the repository

Der Helm-Client verwaltet eine lokale, zwischengespeicherte Kopie der Inhalte des Remoterepositorys.The Helm client maintains a local cached copy of the contents of remote repositories. Durch Änderungen an einem Remoterepository aktualisiert der Helm-Client die Liste der verfügbaren Diagramme, die ihm lokal bekannt sind, nicht automatisch.Changes to a remote repository don't automatically update the list of available charts known locally by the Helm client. Wenn Sie über Repositorys hinweg nach Diagrammen suchen, verwendet Helm den lokal zwischengespeicherten Index.When you search for charts across repositories, Helm uses it's local cached index. Damit das im vorherigen Schritt hochgeladene Diagramm verwendet werden kann, muss der lokale Index des Helm-Repositorys aktualisiert werden.To use the chart uploaded in the previous step, the local Helm repository index must be updated. Sie können die Repositorys im Helm-Client neu indizieren oder den Repositoryindex über die Azure CLI aktualisieren.You can reindex the repositories in the Helm client, or use the Azure CLI to update the repository index. Jedes Mal, wenn Sie ein Diagramm zu Ihrem Repository hinzufügen, müssen Sie den folgenden Schritt ausführen:Each time you add a chart to your repository, this step must be completed:

az acr helm repo add

Wenn in Ihrem Repository ein Diagramm gespeichert und der aktualisierte Index lokal verfügbar ist, können Sie einen Suchvorgang oder eine Installation mithilfe der regulären Befehle des Helm-Clients durchführen.With a chart stored in your repository and the updated index available locally, you can use the regular Helm client commands to search or install. Mit helm search <acrName> können Sie alle Diagramme in Ihrem Repository anzeigen.To see all the charts in your repository, use helm search <acrName>. Geben Sie einen eigenen Azure Container Registry-Namen an:Provide your own Azure Container Registry name:

helm search <acrName>

Das Wordpress-Diagramm, das im vorherigen Schritt mithilfe von Push übertragen wurde, wird aufgelistet, wie in der folgenden Beispielausgabe gezeigt wird:The Wordpress chart pushed in the previous step is listed, as shown in the following example output:

$ helm search myacrhelm

NAME                CHART VERSION   APP VERSION DESCRIPTION
helmdocs/wordpress  2.1.10          4.9.8       Web publishing platform for building blogs and websites.

Sie können die Charts auch über die Azure-Befehlszeilenschnittstelle auflisten. Verwenden Sie dazu den Befehl az acr helm list:You can also list the charts with the Azure CLI, using az acr helm list:

az acr helm list

Anzeigen von Informationen zu einem Helm-DiagrammShow information for a Helm chart

Wenn Sie im Repository Informationen zu einem bestimmten Diagramm anzeigen möchten, können Sie wieder den regulären Helm-Client verwenden.To view information for a specific chart in the repo, you can again use the regular Helm client. Verwenden Sie helm inspect, um Informationen zu dem Diagramm mit dem Namen Wordpress anzuzeigen.To see information for the chart named wordpress, use helm inspect.

helm inspect <acrName>/wordpress

Wenn keine Versionsnummer angegeben ist, wird die aktuelle Version verwendet.When no version number is provided, the latest version is used. Helm Gibt ausführliche Informationen zu Ihrem Diagramm zurück, wie in der folgenden verkürzten Beispielausgabe gezeigt wird:Helm returns detailed information about your chart, as shown in the following condensed example output:

$ helm inspect myacrhelm/wordpress

appVersion: 4.9.8
description: Web publishing platform for building blogs and websites.
engine: gotpl
home: https://www.wordpress.com/
icon: https://bitnami.com/assets/stacks/wordpress/img/wordpress-stack-220x234.png
keywords:
- wordpress
- cms
- blog
- http
- web
- application
- php
maintainers:
- email: containers@bitnami.com
  name: bitnami-bot
name: wordpress
sources:
- https://github.com/bitnami/bitnami-docker-wordpress
version: 2.1.10
[...]

Die Informationen zu einem Chart können auch über die Azure-Befehlszeilenschnittstelle angezeigt werden. Verwenden Sie dazu den Befehl az acr helm show.You can also show the information for a chart with the Azure CLI az acr helm show command. Auch hier wird standardmäßig die aktuelle Version eines Diagramms zurückgegeben.Again, the latest version of a chart is returned by default. Sie können --version anfügen, um eine bestimmte Version eines Diagramms aufzulisten, z.B. 2.1.10:You can append --version to list a specific version of a chart, such as 2.1.10:

az acr helm show wordpress

Installieren eines Helm-Diagramms aus dem RepositoryInstall a Helm chart from the repository

Das Helm-Diagramm in Ihrem Repository wird installiert, indem Sie den Namen des Repositorys angeben und anschließend auf den Namen des Diagramms klicken.The Helm chart in your repository is installed by specifying the repository name and then chart name. Sie können das Wordpress-Diagramm mithilfe des Helm-Clients installieren:Use the Helm client to install the Wordpress chart:

helm install <acrName>/wordpress

Tipp

Wenn Sie das Diagramm mithilfe von Push in Ihr Helm-Repository für Diagramme in Azure Container Registry übertragen und später in einer neuen CLI-Sitzung zurückkehren, benötigt Ihr lokaler Helm-Client ein aktualisiertes Authentifizierungstoken.If you push to your Azure Container Registry Helm chart repository and later return in a new CLI session, your local Helm client needs an updated authentication token. Mithilfe des Befehls az acr helm repo add können Sie ein neues Authentifizierungstoken abrufen.To obtain a new authentication token, use the az acr helm repo add command.

Während des Installationsprozesses werden die folgenden Schritte ausgeführt:The following steps are completed during the install process:

  • Der Helm-Client durchsucht den lokalen Repositoryindex.The Helm client searches the local repository index.
  • Das entsprechende Diagramm wird aus dem Azure Container Registry-Repository heruntergeladen.The corresponding chart is downloaded from the Azure Container Registry repository.
  • Das Diagramm wird mit Tiller in Ihrem Kubernetes-Cluster bereitgestellt.The chart is deployed using the Tiller in your Kubernetes cluster.

Die folgende verkürzte Beispielausgabe zeigt die Kubernetes-Ressource, die über das Helm-Diagramm bereitgestellt wurden:The following condensed example output shows the Kubernetes resources deployed through the Helm chart:

$ helm install myacrhelm/wordpress

NAME:   irreverent-jaguar
LAST DEPLOYED: Thu Sep 13 21:44:20 2018
NAMESPACE: default
STATUS: DEPLOYED

RESOURCES:
==> v1/Pod(related)
NAME                                          READY  STATUS   RESTARTS  AGE
irreverent-jaguar-wordpress-7ff46d9b8c-b7v6m  0/1    Pending  0         1s
irreverent-jaguar-mariadb-0                   0/1    Pending  0         1s
[...]

Löschen eines Helm-Diagramms aus dem RepositoryDelete a Helm chart from the repository

Wenn Sie ein Chart aus dem Repository löschen möchten, verwenden Sie den Befehl az acr helm delete.To delete a chart from the repository, use the az acr helm delete command. Geben Sie den Namen des Diagramms, z.B. Wordpress, und die zu löschende Version an, z.B. 2.1.10.Specify the name of the chart, such as wordpress, and the version to delete, such as 2.1.10.

az acr helm delete wordpress --version 2.1.10

Lassen Sie den Parameter --version aus, wenn alle Versionen des benannten Diagramms gelöscht werden sollen.If you wish to delete all versions of the named chart, leave out the --version parameter.

Das Diagramm wird weiterhin in helm search <acrName> zurückgegeben.The chart continues to be returned in helm search <acrName>. Auch hier aktualisiert der Helm-Client nicht automatisch die Liste der in einem Repository verfügbaren Diagramme.Again, the Helm client doesn't automatically update the list of available charts in a repository. Mithilfe des Befehls az acr helm repo add können Sie den Repositoryindex des Helm-Clients aktualisieren:To update the Helm client repo index, use the az acr helm repo add command again:

az acr helm repo add

Nächste SchritteNext steps

In diesem Artikel wurde ein vorhandenes Helm-Diagramm aus dem öffentlichen Repository stable verwendet.This article used an existing Helm chart from the public stable repository. Weitere Informationen zum Erstellen und Bereitstellen von Helm-Charts finden Sie unter Charts.For more information on how to create and deploy Helm charts, see Developing Helm charts.

Helm-Diagramme können als Teil des Containererstellungsprozesses verwendet werden.Helm charts can be used as part of the container build process. Weitere Informationen finden Sie unter Automatisieren von Containerimage-Builds und Wartung mit ACR Tasks.For more information, see use Azure Container Registry Tasks.

Weitere Informationen zur Verwendung und Verwaltung von Azure Container Registry finden Sie unter Bewährte Methoden für Azure Container Registry.For more information on how to use and manage Azure Container Registry, see the best practices.