Si vous disposez déjà d'un projet déjà configuré avec des fichiers manifestes Kubernetes, Dockerfile ou Jib pour créer , vous pouvez l'ouvrir et l'utiliser avec le plug-in. La seule configuration supplémentaire nécessaire est un fichier YAML Skaffold, qui peut être généré automatiquement pour vous ou créé à l'aide du modèle fourni.
Une fois la configuration de votre fichier YAML Skaffold terminée, veillez à spécifier où vos images de conteneurs sont stockées où l'image du projet est sur le point d'être transférée.
Amorcer automatiquement le projet
Votre projet doit comporter un ou plusieurs fichiers manifestes Kubernetes. Si Cloud Code détecte n'importe quel fichier manifeste Kubernetes dans le projet, Cloud Code tente d'amorcer le projet.
Si Cloud Code ne détecte pas de configuration Skaffold existante, vous serez invité à la définir.
Prérequis
Votre projet doit remplir les conditions préalables suivantes pour être invité à
créez un fichier skaffold.yaml
et exécutez toutes les configurations nécessaires:
(Option 1) Votre projet dispose d'un fichier Dockerfile et est configuré pour Jib.
(Option 2) Votre projet peut être compilé à l'aide de Buildpacks et possède des ressources Kubernetes.
Configurer la configuration d'exécution Kubernetes
Si les conditions préalables sont remplies, Cloud Code vous invite à créer un fichier skaffold.yaml
(s'il n'en existe pas déjà un) et toutes les configurations d'exécution nécessaires :
Cliquez sur la notification. Cela a pour effet de créer automatiquement votre configuration si possible.
Si la création automatique de la configuration Skaffold n'est pas possible en raison de la détection de plusieurs images ou compilateurs, Cloud Code affiche une boîte de dialogue vous invitant à fournir des mappages entre les images et les compilateurs détectés.
Vous pouvez également définir une configuration Skaffold en accédant àOutils >Cloud Code >Kubernetes et en sélectionnantActiver la prise en charge de Kubernetes.
Cette option analyse les ressources Kubernetes de votre projet et génère
skaffold.yaml
(s'il n'en existe pas déjà) et exécutez de configuration. L'un des deux configurations d'exécution permet d'exécuter votre projet sur Kubernetes et l'autre de le développer sur un cluster Kubernetes.Une fois la prise en charge activée, vous pouvez commencer à exécuter et à déboguer votre projet sur Kubernetes à l'aide des configurations d'exécution récemment ajoutées.
Créer manuellement une configuration Skaffold Cloud Code
Vous pouvez choisir de créer manuellement un fichier skaffold.yaml
ou d'ajouter un fichier existant
à votre projet.
Pour créer manuellement un fichier skaffold.yaml
à l'aide de la modélisation en direct, procédez comme suit :
Créez un fichier nommé
skaffold.yaml
dans le répertoire racine de votre projet (clic droit > New > File (Nouveau > Fichier)).Avec le curseur du nouveau fichier, utilisez
Ctrl+Space
pour afficher les suggestions de modèles en direct, puis sélectionnez le modèle Skaffold de votre choix.Remplissez le champ "image" avec le nom d'image de votre projet et le champ "manifests" (manifestes) avec la liste des ressources Kubernetes que vous souhaitez déployer à partir de l'IDE.
Une fois que Cloud Code a déterminé que votre fichier
skaffold.yaml
est valide, cliquez sur le pour créer des configurations d'exécution Kubernetes.
Exemples de configurations Skaffold Cloud Code
Builds basés sur Dockerfile :
build: artifacts: - image: image_name deploy: kubectl: manifests: - k8s/web.yaml - k8s/backend.yaml
Section de build pour les projets Java Maven/Gradle avec le plug-in Jib (la section de déploiement reste identique à l'exemple ci-dessus) :
build: artifacts: - image: image_name jib: {}
Si vous souhaitez définir des configurations de compilation, de test et de déploiement pour des contextes différents, vous pouvez utiliser des profils différents. Voici un exemple de profil Cloud Build permettant de configurer Cloud Code pour compiler des images avec Cloud Build :
profiles: # use the cloudbuild profile to build images using Google Cloud Build - name: cloudbuild build: googleCloudBuild: {}
Si vous souhaitez déployer votre projet avec Helm, consultez la documentation de Helm.
Spécifier l'emplacement de stockage des images de conteneurs
Stockage d'images de conteneurs
Avant de déployer votre application, vous devez définir un dépôt d'images par défaut à utiliser avec votre projet.
Par défaut, le projet est configuré pour utiliser le nom d'image spécifié dans vos fichiers manifestes Kubernetes. Vous pouvez également personnaliser cette spécification d'image. Une fois si vous avez configuré le dépôt de votre choix (Artifact Registry, Container Registry, DockerHub, dépôt privé, etc.), modifier les configurations d'exécution et le spécifier comme dépôt d'images par défaut dans paramètres de configuration. Pour les images Google Container Registry, le champ comprend la saisie semi-automatique pour vous aider à trouver plus rapidement votre dépôt Container Registry.
Celles-ci sont accessibles depuis la boîte de dialogue "Run/Debug configurations" (Configurations d'exécution/de débogage) dans la barre des tâches supérieure, sous Edit configurations (Modifier les configurations) > Develop on Kubernetes (Développer sur Kubernetes) > Image repository (Dépôt d'images).
Pour savoir comment indiquer vos préférences d'images de conteneurs, consultez le guide Configurer les paramètres d'images de conteneurs.
Paramètres de compilation
Une fois votre image de conteneur définie, vous pouvez configurer ses paramètres de compilation. Cloud Code est compatible avec les types d'artefacts Docker, Jib et Buildpacks.
L'onglet Compilation / Déploiement de vos paramètres de configuration d'exécution (Modifier les configurations > Développer sur Kubernetes ) vous permet de configurer les paramètres de compilation de votre profil par défaut.
Pour savoir comment spécifier les paramètres de compilation de votre image, consultez le guide Configurer les préférences de compilation d'images de conteneurs.
Étape suivante
- Utilisez la synchronisation des fichiers et le hot reload pour accélérer le développement.
- Déboguer votre application dans Cloud Code