Utiliser Google Cloud et YAML pour Kubernetes dans Cloud Code pour Cloud Shell

Cloud Code pour Cloud Shell est conçu pour rendre Kubernetes et Cloud Build configuration plus facile en effectuant une analyse lint du schéma pour la structure et les valeurs valides, en fournissant 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 est également compatible avec les ressources personnalisées Kubernetes (CRD), comme Kubeflow, prêt à l'emploi.

Utiliser un schéma personnalisé

Avec Cloud Code, vous pouvez fournir votre propre schéma de CRD en utilisant le paramètre cloudcode.yaml.crdSchemaLocations de votre 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 un schéma d'un cluster

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

Configurer avec des extraits de code

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 des 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

Complétez avec le contexte

Sur la base du schéma actuel, Cloud Code fournit des compléments contextuels et des documents pertinents pour vous aider à choisir la bonne option.

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.

La valeur du champ "name" (nom) est soulignée en rouge pour signaler que la valeur "1234" est non valide. L'info-bulle précise : "Incorrect type." (Type incorrect.) Chaîne attendue.

Faire apparaître la documentation par survol de la souris

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

Informations de documentation lorsque vous maintenez le pointeur 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 dessus, puis sélectionnez Atteindre la définition ou Aperçu de la définition.

Appliquer un fichier YAML

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

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 dans le contrôle de source et un fichier YAML déployé, ouvrez la palette de commandes (appuyez sur Ctrl/Cmd+Shift+P ou cliquez sur Affichage > Palette de commandes), puis exécutez Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource (Cloud Code : Différencier le fichier JSON/YAML actuel avec la ressource déployée K8s).

Effectuer un "dry run" (test à blanc) d'un fichier YAML

Cloud Code effectue automatiquement des "dry runs" (tests à blanc) lorsque vous saisissez des informations dans votre fichier YAML et souligne les erreurs à l'aide d'une ligne jaune en zigzag.

Des lignes jaunes en zigzag apparaissent lorsque le serveur considère qu'une partie de votre code est une erreur en fonction du résultat d'un essai sans connexion. Cela peut inclure des cas de non-respect des règles, des noms en double ou des validations que Cloud Code n'effectue pas côté client (comme les numéros de port maximum).

Pour afficher la description de l'erreur dans votre fichier YAML, pointez sur souligné en jaune du code.

É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 rouges ondulées apparaissent avant Cloud Code pour signaler les erreurs détectées auprès du serveur Kubernetes. Par exemple, si vous indiquez un nombre au début déclenche une ligne rouge ondulée.

Utiliser des secrets

Les mappages de configuration secrets est un élément clé de l'utilisation de Kubernetes. Pour afficher le contexte d'une requête avec Cloud Code, placez le pointeur sur le secret pour le décoder

Décodez un secret en maintenant le pointeur sur celui-ci

Étape suivante