Utiliser Google Cloud et le fichier YAML Kubernetes dans Cloud Code pour VS Code

Cloud Code pour VS Code est conçu pour faciliter la configuration de Kubernetes et de Cloud Build. Il effectue des analyses lint pour la structure et les valeurs valides, et fournit des erreurs descriptives. Cloud Code est fourni avec des solutions prêtes à l'emploi pour les fonctions courantes de schéma, de saisie intelligente et de documentation par survol de la souris.

Fichiers de configuration YAML compatibles

Cloud Code accepte également les définitions de ressources Kubernetes (CRD) personnalisées populaires, telles que Kubeflow, prête à l'emploi.

Utiliser un schéma personnalisé

Avec Cloud Code, vous pouvez fournir votre propre schéma CRD avec le paramètre cloudcode.yaml.crdSchemaLocations dans le fichier settings.json. Vous pouvez le faire pointer vers un fichier local ou une URL. Les URL pointant vers github.com sont automatiquement converties en raw.githubusercontent.com.

Extraire le schéma d'un cluster

Lorsque vous passez à un cluster exécutant Kubernetes 1.16 ou version ultérieure dans la vue Kubernetes, Cloud Code extrait automatiquement le schéma de tous les CRD installés.

Configurer avec des extraits

Les extraits prêts à l'emploi pour les schémas YAML courants (la combinaison Command/Ctrl+Space permettant d'afficher les options) facilitent la création de nouveaux fichiers YAML ou l'ajout de sections à des fichiers existants. Ils aident à travailler sans erreur, tout en respectant les bonnes pratiques. Cloud Code facilite le travail avec les champs répétitifs en remplissant les instances restantes après avoir rempli le premier champ.

Cloud Code propose les extraits de code suivants :

  • Anthos Config Management - Cluster
  • Anthos Config Management - Cluster Selector
  • Anthos Config Management - Config Management
  • Anthos Config Management - Namespace Selector
  • Cloud Build - Cloud Run deployment
  • Cloud Build - Docker container build
  • Cloud Build - GKE deployment
  • Cloud Build - GKE Skaffold deployment
  • Cloud Build - Go build
  • Cloud Build - Terraform plan + apply
  • Config Connector - BigQueryDataset
  • Config Connector - BigQueryTable
  • Config Connector - BigtableCluster
  • Config Connector - BigtableInstance
  • Config Connector - PubSubSubscription
  • Config Connector - PubSubTopic
  • Config Connector - RedisInstance
  • Config Connector - SpannerInstance
  • Kubernetes - ConfigMap
  • Kubernetes - Deployment
  • Kubernetes - Ingress
  • Kubernetes - Pod
  • Kubernetes - Secret
  • Kubernetes - Service
  • Migrate to Containers - Export
  • Migrate to Containers - PersistentVolumeClaim
  • Migrate to Containers - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Contexte

Sur la base du schéma actuel, Cloud Code fournit des suggestions contextuelles et des documents pertinents pour vous aider à choisir l'option appropriée.

Saisie avec contexte pour le schéma Kubernetes

Valider le schéma YAML

Cloud Code offre une assistance pour la validation du schéma en signalant les valeurs et les tags non valides dans vos fichiers YAML, et en suggérant des corrections lorsque cela est possible.

Valeur du champ de nom souligné en rouge pour mettre en surbrillance une valeur non valide : 1234. Texte du point d'information : Type incorrect. Chaîne attendue.

Découvrir la documentation par survol de la souris

Cloud Code affiche la documentation pertinente lorsque vous placez le pointeur sur une valeur du schéma.

Informations sur la documentation lorsque vous pointez sur une valeur du schéma

Accéder aux définitions de ressources

Pour afficher les définitions d'une ressource, effectuez un clic droit sur celle-ci, puis sélectionnez Accéder à la définition ou Prévisualiser les définitions.

Appliquer un fichier YAML

Pour appliquer une modification de configuration à l'aide du fichier actuel, ouvrez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez Cloud Code: Appliquer le fichier JSON/YAML actuel à la ressource déployée K8s.

Cette commande affiche une vue de comparaison qui vous permet d'examiner les modifications. Cliquez sur Appliquer lorsque vous êtes invité à appliquer la modification. Cela a pour effet d'exécuter kubectl apply -f.

Afficher les différences entre les fichiers YAML

Pour afficher les différences entre un fichier YAML de contrôle du code source et un fichier YAML déployé, ouvrez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Vue > Palette de commandes), puis exécutez Cloud Code: Diff JSON/YAML File avec K8s Deployed Resource.

Effectuer une simulation d'un fichier YAML

Cloud Code effectue automatiquement des exécutions à mesure que vous saisissez des informations dans votre fichier YAML et souligne les erreurs à l'aide d'une ligne jaune ondulée.

Les lignes ondulées jaunes s'affichent lorsque le serveur considère une partie de votre code comme une erreur basée sur le résultat d'une simulation. Il peut s'agir de cas de non-respect des règles, de noms en double ou de validations que Cloud Code n'effectue pas côté client (comme le nombre maximal de ports).

Pour afficher la description de l'erreur dans votre fichier YAML, pointez sur le code avec un trait de soulignement jaune.

Échec de "dry run" de la configuration actuelle pour la validation côté serveur, avec message d'erreur fourni sous forme de notificaiton toast. Les détails de l'erreur se trouvent dans le canal de sortie. L'espace de noms "random-namespace" n'existe pas.

Des lignes ondulées rouges apparaissent pour les erreurs détectées avant que Cloud Code vérifie auprès du serveur Kubernetes. Par exemple, si vous indiquez un nombre à l'emplacement prévu d'une chaîne, une ligne ondulée rouge s'affichera.

Utiliser des secrets

L'utilisation de mappages de configuration et de secrets est un élément clé de l'utilisation de Kubernetes. Pour afficher le contexte d'un secret base64 avec Cloud Code, pointez sur le secret pour le décoder.

Décoder le secret en pointant le curseur dessus

Étapes suivantes

Obtenir de l'aide

Pour envoyer des commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.