Helm-Diagramme in Artifact Registry speichern
Helm ist der Paketmanager für Kubernetes. Er verwendet Diagramme 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
- Bei Repository authentifizieren
- Diagramm in das Repository hochladen
- Diagramm bereitstellen
Hinweis
-
In the Cloud de Confiance console, on the project selector page, select or create a Cloud de Confiance project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator role
(
roles/resourcemanager.projectCreator), which contains theresourcemanager.projects.createpermission. Learn how to grant roles.
-
If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.
-
Verify that billing is enabled for your Cloud de Confiance project.
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin), which contains theserviceusage.services.enablepermission. Learn how to grant roles.
Erforderliche Rollen
Bitten Sie Ihren Administrator, Ihnen die
IAM-Rolle „Artifact Registry-Administrator“ (roles/artifactregistry.admin) für Ihr Projekt zuzuweisen,
um die Berechtigungen zu erhalten, die
Sie zum Erstellen und Verwalten von Helm-Diagrammen in Artifact Registry-Docker-Paket-Repositories benötigen.
Weitere Informationen zum Zuweisen von Rollen finden Sie unter Zugriff auf Projekte, Ordner und Organisationen verwalten.
Sie können die erforderlichen Berechtigungen auch über benutzerdefinierte Rollen oder andere vordefinierte Rollen erhalten.
Lokale Shell einrichten
So installieren Sie die gcloud CLI und Helm:
Installieren Sie die gcloud CLI. Führen Sie den Befehl
gcloud components updateaus, um eine vorhandene Installation zu aktualisieren.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 versionaus, um Ihre Version zu prüfen.
Repository erstellen
Erstellen Sie ein Docker-Repository zum Speichern des Beispieldiagramms für diese Kurzanleitung.
Console
Öffnen Sie in der Cloud de Confiance console die Seite Repositories.
Klicken Sie auf Repository erstellen.
Geben Sie
quickstart-helm-repoals Repository-Namen an.Wählen Sie „Docker“ als Format aus.
Wählen Sie unter Standorttyp die Option Region und dann den Standort
u-france-east1aus.Klicken Sie auf Erstellen.
Das Repository wird der Repository-Liste hinzugefügt.
gcloud
Führen Sie den folgenden Befehl aus, um ein neues Docker-Repository mit dem Namen
quickstart-helm-repoam Speicherortu-france-east1mit der Beschreibung „docker repository“ zu erstellen.gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=u-france-east1 --description="Helm repository"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
Für diese Kurzanleitung erstellen Sie ein Beispieldiagramm mit dem Namen hello-chart.
- Wechseln Sie in ein Verzeichnis, in dem Sie das Diagramm erstellen möchten.
Führen Sie den folgenden Befehl aus, um das Diagramm zu erstellen:
helm create hello-chartHelm erstellt ein Verzeichnis mit dem Namen
hello-chartmit einer Standardgruppe von Diagrammdateien. Eine der Dateien ist Chart.yaml, die Informationen zum Diagramm enthält.Packen Sie das Diagramm in ein Archiv.
helm package hello-chart/Helm erstellt ein Archiv mit dem Namen
hello-chart-0.1.0.tgzmit dem Diagrammnamen und der Versionsnummer inChart.yaml.
Bei Repository authentifizieren
Bevor Sie Images hochladen oder installieren können, muss Helm sich bei Artifact Registry authentifizieren.
Helm kann vorhandene Registrierungseinstellungen in 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 Registrierungseinstellungen in der Docker-Konfigurationsdatei config.json. Helm sucht nach Registrierungseinstellungen in entweder am standardmäßigen Standort oder am Speicherort, der durch die DOCKER_CONFIG Umgebungsvariable angegeben wird.
Wenn Sie Docker mit einem Credential Helper für die Authentifizierung bei Artifact Registry konfiguriert haben, verwendet Helm Ihre vorhandene Konfiguration für Artifact Registry-Docker-Repositories.
Mit einem Zugriffstoken authentifizieren
So authentifizieren Sie sich mit einem Zugriffstoken:
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.frWindows
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/REPOSITORYDabei gilt:
oauth2accesstokenist der Nutzername, der zur Authentifizierung mit einem Zugriffstoken verwendet werden soll.gcloud auth print-access-tokenist 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.
Diagramm in Artifact Registry hochladen
Nachdem Sie Ihr Diagrammarchiv erstellt und sich beim Artifact Registry-Repository authentifiziert haben, können Sie das Diagramm in das Repository hochladen.
Führen Sie dazu diesen Befehl aus:
helm push hello-chart-0.1.0.tgz oci://u-france-east1-docker.s3nsregistry.fr/PROJECT/quickstart-helm-repo
Ersetzen Sie PROJECT durch Ihre Cloud de Confiance by S3NS Projekt-ID.
Helm verwendet Werte aus Chart.yaml für das Image:
- Der Diagrammname ist der Imagename:
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 einen Release mit dem in Artifact Registry gespeicherten Diagramm bereitstellen.
Diagramm bereitstellen
In Helm wird eine bereitgestellte Instanz Ihrer Anwendung als Release bezeichnet. Nachdem Sie Ihr Repository der Helm-Konfiguration hinzugefügt haben, können Sie einen Release Ihres Diagramms bereitstellen.
Erstellen Sie mit dem folgenden Befehl einen Cluster mit dem Namen
chart-clusterfür Ihre Bereitstellung:gcloud container clusters create --zone u-france-east1-a chart-clusterWenn der Cluster erstellt wurde, gibt der Befehl eine Zusammenfassung ähnlich dem 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: RUNNINGRufen Sie die Clusteranmeldedaten ab, damit
kubectlauf den Cluster zugreifen kann:gcloud container clusters get-credentials --zone u-france-east1-a chart-clusterFühren Sie den folgenden Befehl aus, um einen Release von
hello-chartmit 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.0Der 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 erfolgreich einen Release mit dem Diagramm bereitgestellt, das Sie erstellt und in Artifact Registry hochgeladen haben.
Bereinigen
Mit den folgenden Schritten vermeiden Sie, dass Ihrem Cloud de Confiance -Konto die auf dieser Seite verwendeten Ressourcen in Rechnung gestellt werden:
Löschen Sie das von Ihnen erstellte Repository mit dem folgenden Befehl:
gcloud artifacts repositories delete quickstart-helm-repo --location=u-france-east1Löschen Sie den von Ihnen erstellten Cluster:
gcloud container clusters delete --zone=u-france-east1-a chart-cluster
Nächste Schritte
- Weitere Informationen zum Arbeiten mit Diagrammen.
- Weitere Informationen zu Helm
- Lesen Sie unsere Ressourcen zu DevOps und gehen Sie unser Forschungsprogramm durch.