Helm-Diagramme in Artifact Registry speichern

Helm ist der Paketmanager für Kubernetes. Dabei werden Diagramme verwendet, die eine Reihe von Kubernetes-Ressourcen definieren, die bereitgestellt werden sollen.

In dieser Schnellstartanleitung werden folgende Verfahren erläutert:

  • Privates Repository in Artifact Registry erstellen
  • Beispieldiagramm erstellen
  • Beim Repository authentifizieren
  • Diagramm in das Repository hochladen
  • Diagramm bereitstellen

Hinweise

  1. In the Trusted Cloud console, on the project selector page, select or create a Trusted Cloud project.

    Go to project selector

  2. Verify that billing is enabled for your Trusted Cloud project.

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

    Enable the APIs

  4. Lokale Shell einrichten

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

    1. Installieren Sie das gcloud-CLI. Führen Sie den Befehl gcloud components update aus, um eine vorhandene Installation zu aktualisieren.

    2. Installieren Sie Helm 3.8.0 oder höher. In früheren Versionen von Helm ist die Unterstützung von Diagrammen im OCI-Format eine experimentelle Funktion.

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

    Repository erstellen

    Erstellen Sie ein Docker-Repository zum Speichern des Beispiel-Charts für diese Kurzanleitung.

    Console

    1. Öffnen Sie in der Trusted 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 u-france-east1 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 u-france-east1 mit der Beschreibung „docker repository“ zu erstellen.

      gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \
      --location=u-france-east1 --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.

    Diagramm erstellen

    In dieser Kurzanleitung erstellen Sie ein Beispiel-Diagramm 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 Standardsatz von Diagrammdateien. Eine der Dateien ist Chart.yaml, die Informationen zum Diagramm enthält.

    3. Verpacken Sie das Diagramm in einem Archiv.

      helm package hello-chart/
      

      Helm erstellt ein Archiv mit dem Namen hello-chart-0.1.0.tgz, wobei der Diagrammname und die Versionsnummer in Chart.yaml verwendet werden.

    Beim Repository authentifizieren

    Bevor Sie Images per Push übertragen oder installieren können, muss Helm sich bei Artifact Registry authentifizieren.

    Helm kann vorhandene Registry-Einstellungen aus einer 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 zur Authentifizierung finden Sie unter Authentifizierung für Helm einrichten.

    Mit Ihrer Docker-Konfiguration authentifizieren

    Standardmäßig unterstützt Helm Registry-Einstellungen in der Docker-Konfigurationsdatei config.json. Helm findet Registrierungseinstellungen entweder am Standardspeicherort oder am Speicherort, der durch die Umgebungsvariable DOCKER_CONFIG angegeben wird.

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

    Mit einem Zugriffstoken authentifizieren

    So authentifizieren Sie sich mit einem Zugriffstoken:

    1. Rufen Sie zur Authentifizierung bei Artifact Registry mit Helm ein Zugriffstoken ab.

      Linux/macOS

      Führen Sie dazu diesen Befehl aus:

      gcloud auth print-access-token | helm registry login -u oauth2accesstoken \
      --password-stdin https://u-france-east1-docker.s3nsregistry.fr
      

      Windows

      Führen Sie dazu diesen Befehl aus:

      gcloud auth print-access-token
      ya29.8QEQIfY_...
      
      helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \
      https://u-france-east1-docker.s3nsregistry.fr/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. Sie können das Diagramm jetzt in das Repository hochladen.

    Chart in Artifact Registry hochladen

    Nachdem Sie das Diagrammarchiv erstellt und sich beim Artifact Registry-Repository authentifiziert haben, können Sie das Diagramm in das Repository hochladen.

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

    helm push hello-chart-0.1.0.tgz oci://u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
    

    Ersetzen Sie PROJECT durch Ihre Trusted Cloud by S3NS Projekt-ID.

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

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

    Helm gibt eine Ausgabe ähnlich dem folgenden Beispiel zurück:

    Login Succeeded
    Pushed: u-france-east1-docker.s3nsregistry.fr/my-project/quickstart-helm-repo/hello-chart:0.1.0
    Digest: sha256:67a72...
    

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

    gcloud artifacts docker images list u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
    

    Die Befehlsausgabe sieht dann ungefähr so aus:

    Listing items under project my-project, location u-france-east1, repository quickstart-helm-repo.
    
    IMAGE: u-france-east1-docker.s3nsregistry.fr/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 eine Version mit dem in Artifact Registry gespeicherten Diagramm bereitstellen.

    Diagramm bereitstellen

    In Helm wird eine bereitgestellte Instanz Ihrer Anwendung als Release bezeichnet. Nachdem Sie das Repository der Helm-Konfiguration hinzugefügt haben, können Sie eine Release Ihres Diagramms bereitstellen.

    1. Erstellen Sie mit dem folgenden Befehl einen Cluster namens chart-cluster für Ihre Bereitstellung:

      gcloud container clusters create --zone u-france-east1-a chart-cluster
      

      Wenn der Cluster erstellt wurde, gibt der Befehl eine Zusammenfassung wie im folgenden Beispiel zurück:

      kubeconfig entry generated for chart-cluster.
      NAME: chart-cluster
      LOCATION: u-france-east1-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 u-france-east1-a chart-cluster
      
    3. Führen Sie den folgenden Befehl aus, um eine Version von hello-chart mit den lokal extrahierten Diagrammdateien bereitzustellen:

      helm install hello-chart oci://u-france-east1-docker.s3nsregistry.fr/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 mit dem Chart, das Sie erstellt und in Artifact Registry übertragen haben, erfolgreich ein Release bereitgestellt.

    Bereinigen

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

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

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

      gcloud container clusters delete --zone=u-france-east1-a chart-cluster
      

    Nächste Schritte