Trabajar con Google Cloud y archivos YAML de Kubernetes en Cloud Code para VS Code

Cloud Code para VS Code se ha diseñado para facilitar la configuración de Kubernetes y Cloud Build. Para ello, analiza el esquema para comprobar 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 que aparece al colocar el cursor sobre un elemento.

.

Archivos de configuración YAML admitidos

Cloud Code también admite de forma predeterminada las definiciones de recursos personalizados (CRDs) de Kubernetes más populares, como Kubeflow.

Usar un esquema personalizado

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

Extraer el esquema de un clúster

Cuando cambias a un clúster que ejecuta Kubernetes 1.16 o una versión posterior en la vista Kubernetes, Cloud Code extrae automáticamente el esquema de todos los CRDs instalados.

Configurar con fragmentos

Los fragmentos listos para usar de esquemas YAML comunes (usa Command/Ctrl+Space para ver las opciones) facilitan la creación de un archivo YAML o la adición de contenido a uno ya creado sin errores, al tiempo que se siguen las prácticas recomendadas. Cloud Code facilita el trabajo con campos repetitivos rellenando las instancias restantes después de que rellenes 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

En función del esquema actual, Cloud Code proporciona finalizaciones contextuales y documentos relevantes para ayudarte a elegir la opción adecuada.

Completaciones de contexto para el esquema de Kubernetes

Validar el esquema YAML

Cloud Code ofrece compatibilidad con la validación de esquemas. Para ello, marca las etiquetas y los valores no válidos de los archivos YAML y sugiere correcciones cuando es posible.

Valor del campo de nombre subrayado en rojo para destacar un valor no válido de 1234. El texto al colocar el cursor indica: Tipo incorrecto. Se esperaba una cadena.

Consultar documentación al colocar el cursor

Cloud Code muestra la documentación pertinente cuando colocas el puntero sobre un valor del esquema.

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

Acceder a definiciones de recursos

Para ver las definiciones de un recurso, haz clic con el botón derecho en el recurso y, a continuación, elige Ir a definición o Ver definición.

Aplicar un archivo YAML

Para aplicar un cambio de configuración con el archivo actual, abre la paleta de comandos (pulsa Ctrl/Cmd+Shift+P o haz clic en Ver > Paleta de comandos) y, a continuación, ejecuta Cloud Code: Apply Current JSON/YAML File to K8s Deployed Resource (Cloud Code: aplicar el archivo JSON o YAML actual al recurso implementado de Kubernetes).

Este comando muestra una vista de diferencias para que puedas revisar los cambios. Haz clic en Aplicar cuando se te pregunte si quieres aplicar este cambio. Esto se ejecuta kubectl apply -f.

Ver las diferencias entre archivos YAML

Para ver las diferencias entre un archivo YAML en el control de código fuente y un archivo YAML implementado, abre la paleta de comandos (pulsa Ctrl/Cmd+Shift+P o haz clic en Ver > Paleta de comandos) y, a continuación, ejecuta Cloud Code: Diff Current JSON/YAML File with K8s Deployed Resource (Cloud Code: Comparar el archivo JSON o YAML actual con el recurso implementado de K8s).

Hacer una prueba de un archivo YAML

Cloud Code realiza pruebas sin ejecutar automáticamente mientras escribes información en tu archivo YAML y subraya los errores con una línea ondulada amarilla.

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

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

La validación de prueba sin conexión del lado del servidor falla en `hello.deployment.yaml` y se muestra un mensaje de error como toast. Los detalles del error se encuentran en el canal de salida. El espacio de nombres "random-namespace" no existe.

Aparecen líneas onduladas rojas para los errores detectados antes de que Cloud Code compruebe el servidor de Kubernetes. Por ejemplo, si se introduce un número donde se espera una cadena, se muestra una línea ondulada roja.

Trabajar con secretos

El uso de mapas de configuración y secretos es una parte fundamental del trabajo con Kubernetes. Para ver el contexto de un secreto de base64 con Cloud Code, mantén el puntero sobre el secreto para decodificarlo.

Decodificar un secreto manteniendo el puntero sobre él

Siguientes pasos

Obtener asistencia

Para enviar comentarios o informar de problemas, visita GitHub o haz una pregunta en Stack Overflow.