Trabaja con Google Cloud y YAML de Kubernetes en Cloud Code para VS Code

Cloud Code para VS Code se diseñó a fin de facilitar la configuración de Kubernetes y Cloud Build, ya que analiza el esquema con lint de la estructura y los valores válidos, y proporciona errores descriptivos. Cloud Code incluye soluciones listas para usar para esquemas comunes, finalizaciones inteligentes y documentación con solo colocar el cursor sobre un elemento.

Archivos de configuración YAML compatibles

Cloud Code también es compatible con definiciones de recursos personalizados (CRD) populares de Kubernetes, como Kubeflow, listos para usar.

Usar esquema personalizado

Con Cloud Code, puedes proporcionar tu propio esquema de CRD con la configuración cloudcode.yaml.crdSchemaLocations en el archivo settings.json. Puedes apuntar a un archivo local o a una URL. Las URLs que apuntan a github.com se convierten automáticamente a raw.githubusercontent.com.

Extraer el esquema de un clúster

Cuando cambias a un clúster que ejecuta Kubernetes v1.16 y una versión posterior en la vista de Kubernetes, Cloud Code extrae automáticamente el esquema de todas las CRD instaladas.

Configurar con fragmentos

Los fragmentos listos para usar del esquema YAML común (con Command/Ctrl+Space a fin de ver las opciones) facilitan el inicio de un archivo YAML nuevo o lo agregan a uno existente sin errores, sin dejar de seguir las prácticas recomendadas. Cloud Code facilita el trabajo con campos repetitivos, ya que completa las instancias restantes después de completar el primer campo.

Cloud Code ofrece los siguientes fragmentos:

  • 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

Completar con contexto

Según el esquema actual, Cloud Code proporciona completados contextuales y documentos relevantes para ayudarte a elegir la opción correcta.

Parámetros contextuales para el esquema de Kubernetes

Valida el esquema YAML

Cloud Code ofrece asistencia para la validación de esquemas mediante la marcación con etiquetas no válidas y valores en tus archivos YAML, y sugiere correcciones cuando sea posible.

Valor del campo de nombre subrayado en rojo para destacar un valor no válido de 1234; estados de texto flotante: Tipo incorrecto. String esperada.

Descubre la documentación con solo colocar el cursor sobre ellos

Cloud Code muestra la documentación relevante cuando mantienes el puntero sobre un valor en el esquema.

Información de documentación cuando mantienes el puntero sobre un valor en el esquema

Accede a definiciones de recursos

Para ver las definiciones de un recurso, haz clic con el botón derecho en el recurso y, luego, elige Go to Definition o Peek Definition.

Aplica un archivo YAML

Para aplicar un cambio de configuración con el archivo actual, abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P o haz clic en View > Command Palette) y, luego, ejecuta Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource.

Con este comando, se muestra una vista de diferencias para que revises los cambios. Haz clic en Aplicar cuando se te pregunte si deseas aplicar este cambio. Esto ejecuta kubectl apply -f.

Consulta las diferencias entre los archivos YAML

Para ver las diferencias entre un archivo YAML en el control de fuente y un archivo YAML implementado, abre la paleta de comandos (presiona Ctrl/Cmd + Shift + P o haz clic en Ver > Paleta de comandos) y, luego, ejecuta Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource.

Realiza una ejecución de prueba de un archivo YAML

Cloud Code realiza ejecuciones de prueba automáticamente a medida que escribes información en tu archivo YAML y subraya los errores con una línea amarilla.

Las líneas onduladas amarillas aparecen cuando el servidor considera que una parte de tu código es un error en función del resultado de una ejecución de prueba. Esto puede incluir incumplimientos de políticas, nombres duplicados o validaciones que Cloud Code no realiza del lado del cliente (como números de puerto máximos).

Para ver la descripción del error en tu archivo YAML, mantén el puntero sobre el código subrayado en amarillo.

La validación de ejecución de prueba del servidor falla en “hello.deployment.yaml” y se muestra un mensaje de error como una notificación. Los detalles del error se encuentran en el canal de salida; el espacio de nombres “random-namespace” no existe

Las líneas rojas onduladas aparecen para los errores detectados antes de que Cloud Code se verifique con el servidor de Kubernetes. Por ejemplo, si colocas un número cuando se espera una string, se activa una línea roja ondulada.

Trabaja con secretos

Usar mapas de configuración y secrets es una parte clave de trabajar con Kubernetes. Si deseas ver el contexto de un secreto base64 con Cloud Code, mantén el puntero sobre el secreto para decodificarlo.

Mantén el puntero sobre él para decodificarlo

¿Qué sigue?

Obtener asistencia

Si deseas enviar comentarios, informa problemas en GitHub o haz preguntas en Stack Overflow.