Helm-Diagramme in Artifact Registry speichern

Helm ist der Paketmanager für Kubernetes Dabei werden Diagramme die eine Reihe von Kubernetes-Ressourcen für das Deployment definieren.

In dieser Schnellstartanleitung werden folgende Verfahren erläutert:

  • Privates Repository in Artifact Registry erstellen
  • Beispieldiagramm erstellen
  • Beim Repository authentifizieren
  • Diagramm an das Repository übertragen
  • Diagramm bereitstellen

Hinweise

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  3. Make sure that billing is enabled for your Google Cloud project.

  4. Enable the Artifact Registry, Google Kubernetes Engine APIs.

    Enable the APIs

  5. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Go to project selector

  6. Make sure that billing is enabled for your Google Cloud project.

  7. Enable the Artifact Registry, Google Kubernetes Engine APIs.

    Enable the APIs

Shell auswählen

Sie können diese Kurzanleitung entweder in Cloud Shell oder in Ihrer lokalen Shell ausführen.

Cloud Shell
Cloud Shell ist eine Shell-Umgebung für die Verwaltung von Ressourcen, die in Google Cloud gehostet werden. Docker, Helm und die Google Cloud CLI, die primäre Befehlszeile für Google Cloud.
Lokale Shell
Wenn Sie lieber Ihre lokale Shell verwenden möchten, müssen Sie Docker installieren und gcloud CLI in Ihrer Umgebung verwenden.

Cloud Shell starten

So starten Sie Cloud Shell:

  1. Rufen Sie die Google Cloud Console auf.

    Google Cloud Console

  2. Klicken Sie auf die Schaltfläche Cloud Shell aktivieren:  .

    In einem Frame im unteren Teil der Console wird eine Cloud Shell-Sitzung geöffnet. Mit dieser Shell führen Sie gcloud-Befehle aus.

  3. Installieren Sie Helm 3.8.0 oder höher. In früheren Versionen von Helm werden Diagramme im OCI-Format unterstützt, experimentelle Funktion.

    Führen Sie helm version aus, um Ihre Version zu prüfen.

Lokale Shell einrichten

Führen Sie die folgenden Schritte aus, um die gcloud CLI und Helm zu installieren:

  1. Installieren Sie das gcloud-CLI. So aktualisieren Sie eine führen Sie den Befehl gcloud components update aus.

  2. Installieren Sie Helm 3.8.0 oder höher. In früheren Versionen von Helm werden Diagramme im OCI-Format unterstützt, experimentelle Funktion.

    Führen Sie helm version aus, um Ihre Version zu prüfen.

Repository erstellen

Erstellen Sie ein Docker-Repository zum Speichern des Beispieldiagramms für diesen Schnellstart.

Console

  1. Öffnen Sie in der Cloud Console die Seite Repositories.

    Zur Seite „Repositories“

  2. Klicken Sie auf Repository erstellen.

  3. Geben Sie quickstart-helm-repo als Repository-Namen an.

  4. Wählen Sie „Docker“ als Format aus.

  5. Wählen Sie unter Standorttyp die Option Region und dann den Standort us-west1 aus.

  6. Klicken Sie auf Erstellen.

Das Repository wird der Repository-Liste hinzugefügt.

gcloud

  1. Führen Sie den folgenden Befehl aus, um ein neues Docker-Repository mit dem Namen quickstart-helm-repo am Speicherort us-west1 mit der Beschreibung „docker repository“ zu erstellen.

    gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \
    --location=us-west1 --description="Helm repository"
    
  2. Führen Sie den folgenden Befehl aus, um zu prüfen, ob Ihr Repository erstellt wurde:

    gcloud artifacts repositories list
    

Weitere Informationen zu Artifact Registry-Befehlen erhalten Sie mit dem Befehl gcloud artifacts.

Diagramme erstellen

Für diese Kurzanleitung erstellen Sie ein Beispieldiagramm mit dem Namen hello-chart

  1. Wechseln Sie in das Verzeichnis, in dem Sie das Diagramm erstellen möchten.
  2. Führen Sie den folgenden Befehl aus, um das Diagramm zu erstellen:

    helm create hello-chart
    

    Helm erstellt ein Verzeichnis namens hello-chart mit einem Standarddiagramm -Dateien. Eine der Dateien ist Chart.yaml, die enthält Informationen über das Diagramm.

  3. Verpacken Sie das Diagramm als Archiv.

    helm package hello-chart/
    

    Helm erstellt ein Archiv namens hello-chart-0.1.0.tgz mithilfe des Diagrammnamens und die Versionsnummer in Chart.yaml.

Beim Repository authentifizieren

Bevor Sie Images hochladen oder installieren können, muss sich Helm bei Helm authentifizieren Artifact Registry.

Helm kann die vorhandenen Registry-Einstellungen als Docker-Konfigurationsdatei verwenden. Wenn Sie Docker noch nicht für die Verwendung mit Artifact Registry konfiguriert haben, können Sie sich für diese Kurzanleitung mit einem Zugriffstoken authentifizieren.

Weitere Informationen finden Sie unter Authentifizierung für Helm einrichten. Informationen zur Authentifizierung.

Mit der Docker-Konfiguration authentifizieren

Standardmäßig unterstützt Helm Registrierungseinstellungen in der Docker-Konfigurationsdatei config.json. Helm findet Registrierungseinstellungen in entweder dem Standardstandort oder dem durch das DOCKER_CONFIG.

Wenn Sie Docker konfiguriert haben mit einem Credential Helper zur Authentifizierung bei Artifact Registry, Helm verwendet Ihre vorhandene Konfiguration für Artifact Registry-Docker-Repositories.

Mit einem Zugriffstoken authentifizieren

So authentifizieren Sie sich mit einem Zugriffstoken:

  1. Zugriffstoken bei der Authentifizierung bei Artifact Registry mit Helm

    Linux/macOS

    Führen Sie dazu diesen Befehl aus:

    gcloud auth print-access-token | helm registry login -u oauth2accesstoken \
    --password-stdin https://us-west1-docker.pkg.dev
    

    Windows

    Führen Sie dazu diesen Befehl aus:

    gcloud auth print-access-token
    ya29.8QEQIfY_...
    
    helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \
    https://us-west1-docker.pkg.dev/PROJECT-ID/REPOSITORY
    

    Dabei gilt:

    • oauth2accesstoken ist der Nutzername, der zur Authentifizierung mit einem Zugriffstoken verwendet werden soll.
    • gcloud auth print-access-token ist der gcloud-Befehl zum Abrufen des Zugriffstokens. Ihr Zugriffstoken ist das Passwort für die Authentifizierung.

Helm ist jetzt bei Artifact Registry authentifiziert. Jetzt können Sie Übertragen Sie das Diagramm per Push in das Repository.

Diagramm per Push an Artifact Registry übertragen

Nachdem Sie Ihr Diagrammarchiv erstellt und beim Artifact Registry-Repository ist, können Sie das Diagramm per Push in das Repository übertragen.

Führen Sie den folgenden Befehl aus, um das Diagramm per Push zu übertragen:

helm push hello-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo

Ersetzen Sie PROJECT durch Ihre Google Cloud-Projekt-ID.

Helm verwendet für das Image Werte aus Chart.yaml:

  • Der Diagrammname ist der Image-Name: hello-chart
  • Die Diagrammversion ist das Image-Tag: 0.1.0

Helm gibt in etwa folgende Ausgabe zurück:

Login Succeeded
Pushed: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...

Führen Sie den folgenden Befehl aus, um zu überprüfen, ob das Diagramm jetzt im Repository:

gcloud artifacts docker images list us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo

Die Befehlsausgabe sieht dann ungefähr so aus:

Listing items under project my-project, location us-west1, repository quickstart-helm-repo.

IMAGE: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart
DIGEST: sha256:67a72...
CREATE_TIME: 2021-11-08T22:59:57
UPDATE_TIME: 2021-11-08T22:59:57

Sie können jetzt einen Release mit dem in Artifact Registry gespeicherten Diagramm bereitstellen.

Diagramm bereitstellen

In Helm wird eine bereitgestellte Instanz Ihrer Anwendung als Release bezeichnet. Nachher Wenn Sie Ihr Repository zur Helm-Konfiguration hinzugefügt haben, können Sie ein Veröffentlichung Ihres Chart.

  1. Erstellen Sie mit dem folgenden Befehl einen Cluster mit dem Namen chart-cluster für Ihr Deployment:

    gcloud container clusters create --zone us-west1-a chart-cluster
    

    Nachdem der Cluster erstellt wurde, gibt der Befehl eine Zusammenfassung wie die folgende zurück: folgendes Beispiel:

    kubeconfig entry generated for chart-cluster.
    NAME: chart-cluster
    LOCATION: us-west1-a
    MASTER_VERSION: 1.20.10-gke.1600
    MASTER_IP: 34.66.36.211
    MACHINE_TYPE: e2-medium
    NODE_VERSION: 1.20.10-gke.1600
    NUM_NODES: 3
    STATUS: RUNNING
    
  2. Rufen Sie die Clusteranmeldedaten ab, damit kubectl auf den Cluster zugreifen kann:

    gcloud container clusters get-credentials --zone us-west1-a chart-cluster
    
  3. Führen Sie den folgenden Befehl aus, um mit dem folgenden Befehl einen Release von hello-chart bereitzustellen: die lokal extrahierten Diagrammdateien:

    helm install hello-chart oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
    

    Der Befehl gibt eine Zusammenfassung der Bereitstellung zurück:

    NAME: hello-chart
    LAST DEPLOYED: Mon Nov  8 23:15:13 2021
    NAMESPACE: default
    STATUS: deployed
    REVISION: 1
    

Sie haben mithilfe des von Ihnen erstellten Diagramms erfolgreich einen Release bereitgestellt und per Push-Befehl an Artifact Registry.

Bereinigen

Mit den folgenden Schritten vermeiden Sie, dass Ihrem Google Cloud-Konto die in dieser Anleitung verwendeten Ressourcen in Rechnung gestellt werden:

  1. Löschen Sie das erstellte Repository mit dem folgenden Befehl:

    gcloud artifacts repositories delete quickstart-helm-repo --location=us-west1
    
  2. Löschen Sie den von Ihnen erstellten Cluster:

    gcloud container clusters delete --zone=us-west1-a chart-cluster
    

Nächste Schritte