Stocker des charts Helm dans Artifact Registry
Helm est le gestionnaire de packages des Kubernetes. Elle utilise des graphiques qui définissent un ensemble de ressources Kubernetes à déployer.
Ce guide de démarrage rapide vous montre comment :
- Créer un dépôt privé dans Artifact Registry
- Créer un exemple de graphique
- S'authentifier avec le dépôt
- Transférer le graphique dans le dépôt
- Déployer le graphique
Avant de commencer
- Connectez-vous à votre compte Google Cloud. Si vous débutez sur Google Cloud, créez un compte pour évaluer les performances de nos produits en conditions réelles. Les nouveaux clients bénéficient également de 300 $ de crédits gratuits pour exécuter, tester et déployer des charges de travail.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Vérifiez que la facturation est activée pour votre projet Google Cloud.
-
Enable the Artifact Registry, Google Kubernetes Engine APIs.
Choisir une interface système
Pour suivre ce guide de démarrage rapide, utilisez Cloud Shell ou votre interface système locale.
- Cloud Shell
- Cloud Shell est un environnement shell permettant de gérer les ressources hébergées sur Google Cloud. Docker, Helm et les autres outils Google Cloud CLI, la principale de ligne de commande pour Google Cloud.
- Interface système locale
- Si vous préférez utiliser votre interface système locale, vous devez installer Docker et gcloud CLI dans votre environnement.
Démarrer Cloud Shell
Pour lancer Cloud Shell, procédez comme suit :
Accédez à Google Cloud Console.
Cliquez sur le bouton Activer Cloud Shell : .
Une session Cloud Shell s'ouvre dans un cadre situé en bas de la console. Cette interface système vous permet d'exécuter les commandes
gcloud
.Installez Helm 3.8.0 ou version ultérieure. Dans les versions précédentes de Helm, les graphiques au format OCI fonctionnalité expérimentale.
Exécutez
helm version
pour vérifier votre version.
Configurer une interface système locale
Pour installer la gcloud CLI et Helm, procédez comme suit:
Installez la CLI gcloud. Pour mettre à jour l'installation, exécutez la commande
gcloud components update
.Installez Helm 3.8.0 ou une version ultérieure. Dans les versions précédentes de Helm, les graphiques au format OCI fonctionnalité expérimentale.
Exécutez
helm version
pour vérifier votre version.
Créer un dépôt
Créez un dépôt Docker pour stocker l'exemple de graphique utilisé dans ce guide de démarrage rapide.
Console
Ouvrez la page Dépôts de la console Google Cloud.
Cliquez sur Créer un dépôt.
Spécifiez
quickstart-helm-repo
comme nom de dépôt.Choisissez le format Docker.
Sous Type d'emplacement, sélectionnez Région, puis l'emplacement
us-west1
.Cliquez sur Créer.
Le dépôt est ajouté à la liste des dépôts.
gcloud
Exécutez la commande suivante pour créer un dépôt Docker nommé
quickstart-helm-repo
à l'emplacementus-west1
avec la description "docker" "Dépôt de projet".gcloud artifacts repositories create quickstart-helm-repo --repository-format=docker \ --location=us-west1 --description="Helm repository"
Exécutez la commande suivante pour vérifier que votre dépôt a bien été créé.
gcloud artifacts repositories list
Exécutez la commande gcloud artifacts
pour obtenir plus d'informations sur les commandes Artifact Registry.
Créer un graphique
Dans ce guide de démarrage rapide, vous allez créer un exemple de graphique nommé
hello-chart
- Accédez au répertoire dans lequel vous souhaitez créer le graphique.
Exécutez la commande suivante pour créer le graphique :
helm create hello-chart
Helm crée un répertoire nommé
hello-chart
avec un ensemble par défaut de fichiers de graphiques. L'un des fichiers, Chart.yaml, est inclut des informations sur le graphique.Empaqueter le graphique pour une archive
helm package hello-chart/
Helm crée une archive nommée
hello-chart-0.1.0.tgz
à partir du nom du chart et le numéro de version dansChart.yaml
.
S'authentifier avec le dépôt
Pour que vous puissiez transférer ou installer des images, Helm doit s'authentifier Artifact Registry.
Helm peut utiliser les paramètres de registre existants et un fichier de configuration Docker. Si vous n'avez pas encore configuré Docker pour l'utiliser avec Artifact Registry, vous pouvez vous authentifier avec un jeton d'accès pour ce guide de démarrage rapide.
Pour en savoir plus sur l'authentification, consultez la page Configurer l'authentification pour Helm.
S'authentifier avec votre configuration Docker
Par défaut, Helm prend en charge les paramètres de registre dans le fichier de configuration Docker config.json. Helm trouve les paramètres de registre soit l'emplacement par défaut, soit l'emplacement spécifié par la DOCKER_CONFIG.
Si vous avez configuré Docker avec un outil d'aide à la connexion pour s'authentifier auprès d'Artifact Registry, de Helm utilise votre configuration existante pour les dépôts Docker Artifact Registry.
S'authentifier avec un jeton d'accès
Pour s'authentifier avec un jeton d'accès:
Procurez-vous un jeton d'accès en tant qu'identifiants lorsque vous vous authentifiez Artifact Registry avec Helm
Linux/macOS
Exécutez la commande suivante :
gcloud auth print-access-token | helm registry login -u oauth2accesstoken \ --password-stdin https://us-west1-docker.pkg.dev
Windows
Exécutez la commande suivante :
gcloud auth print-access-token ya29.8QEQIfY_... helm registry login -u oauth2accesstoken -p "ya29.8QEQIfY_..." \ https://us-west1-docker.pkg.dev/PROJECT-ID/REPOSITORY
Où :
oauth2accesstoken
est le nom d'utilisateur à utiliser lors de l'authentification avec un un jeton d'accès.gcloud auth print-access-token
est la commande gcloud permettant d'obtenir le jeton d'accès. Votre jeton d'accès est le mot de passe utilisé pour l'authentification.
Helm est désormais authentifié auprès d'Artifact Registry. Vous êtes prêt à Transférez le graphique vers le dépôt.
Transférer le graphique vers Artifact Registry
Après avoir créé l'archive de vos graphiques et vous être authentifié auprès du Artifact Registry, vous pouvez y transférer le graphique.
Pour transférer le graphique, exécutez la commande suivante:
helm push hello-chart-0.1.0.tgz oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Remplacez PROJECT par l'ID de votre projet Google Cloud.
Helm utilise les valeurs de Chart.yaml
pour l'image:
- Le nom du graphique correspond à celui de l'image:
hello-chart
- La version du graphique correspond au tag d'image:
0.1.0
Helm renvoie un résultat semblable à l'exemple suivant:
Login Succeeded
Pushed: us-west1-docker.pkg.dev/my-project/quickstart-helm-repo/hello-chart:0.1.0
Digest: sha256:67a72...
Exécutez la commande suivante pour vérifier que le graphique est désormais stocké dans dépôt:
gcloud artifacts docker images list us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo
Le résultat de la commande ressemble à ceci :
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
Vous pouvez maintenant déployer une version à l'aide du graphique stocké dans Artifact Registry.
Déployer le graphique
Dans Helm, une instance déployée de votre application est appelée version. Après que vous avez ajouté votre dépôt à la configuration Helm, vous pouvez déployer publication de votre graphique.
Créez un cluster nommé
chart-cluster
pour votre déploiement à l'aide de la commande suivante:gcloud container clusters create --zone us-west1-a chart-cluster
Une fois le cluster créé, la commande renvoie un résumé semblable à celui-ci : l'exemple suivant:
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
Obtenez les identifiants du cluster afin que
kubectl
puisse y accéder:gcloud container clusters get-credentials --zone us-west1-a chart-cluster
Exécutez la commande suivante pour déployer une version de
hello-chart
à l'aide des fichiers de graphiques extraits localement :helm install hello-chart oci://us-west1-docker.pkg.dev/PROJECT/quickstart-helm-repo/hello-chart --version 0.1.0
La commande renvoie un résumé du déploiement :
NAME: hello-chart LAST DEPLOYED: Mon Nov 8 23:15:13 2021 NAMESPACE: default STATUS: deployed REVISION: 1
Vous avez déployé une version à l'aide du graphique que vous avez créé et transféré vers Artifact Registry.
Effectuer un nettoyage
Pour éviter que les ressources utilisées sur cette page soient facturées sur votre compte Google Cloud, procédez comme suit :
Supprimez le dépôt que vous avez créé à l'aide de la commande suivante :
gcloud artifacts repositories delete quickstart-helm-repo --location=us-west1
Supprimez le cluster que vous avez créé:
gcloud container clusters delete --zone=us-west1-a chart-cluster
Étape suivante
- En savoir plus sur l'utilisation des graphiques
- En savoir plus sur Helm
- Consultez nos ressources sur le DevOps et découvrez notre programme de recherche.