Trabaja con archivos YAML de Google Cloud y Kubernetes

Cloud Code está diseñado para ayudar a editar archivos de configuración relacionados con Google Cloud y Kubernetes, incluidos los diagnósticos, la validación basada en esquemas y la documentación rápida.

Archivos de configuración YAML compatibles

Además, Cloud Code también admite las CRD de Kubernetes conocidas, como Kubeflow, listas para usar.

Usa el esquema personalizado

Además, con Cloud Code, puedes proporcionar tu propio esquema de CRD con la configuración de IntelliJ (Archivo > Configuración > Herramientas > Cloud Code > Kubernetes o, para Mac OS X, IntelliJ IDEA > Preferencias > Herramientas > Cloud Code > Kubernetes y navega a la sección Ubicaciones del esquema de CRD.

Puedes apuntar a un archivo local o a una URL. Las URL que apuntan a github.com se convierten de forma automática en raw.githubusercontent.com.

Extrae el esquema de un clúster

Cuando cambias a un clúster que ejecuta Kubernetes v1.16 y versiones posteriores en Kubernetes Explorer, Cloud Code extrae de forma automática el esquema de todas las CRD instaladas.

Asistencia adicional con Skaffold

Skaffold es el motor subyacente con el que funciona Cloud Code y te ayuda a compilar, enviar y, también, implementar tu aplicación. Además, proporciona asistencia para crear canalizaciones de CI/CD.

Cloud Code incluye asistencia adicional para la administración de archivos de configuración de Skaffold. Al abrir un proyecto, Cloud Code detecta esquemas de Skaffold que no están actualizados y te notifica (a través del registro de acontecimientos) cuando hay una actualización de la versión del esquema de Skaffold disponible para tus archivos de configuración YAML de Skaffold existentes.

Notificación en el registro de acontecimientos que solicita al usuario que actualice su versión del esquema de Skaffold, ya que sus archivos YAML existentes de Skaffold no pertenecen a la versión más reciente.

También puedes navegar a Tools > Cloud Code > Kubernetes y seleccionar Check for Skaffold Schemas Upgrades. para buscar actualizaciones de esquema disponibles.

Configura con fragmentos

Los fragmentos listos para usar del esquema YAML común (con 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. Además, es más fácil trabajar con campos repetitivos, ya que, si completas uno, Cloud Code llenará las instancias restantes.

Usa fragmentos con campos repetitivos

En la actualidad, se ofrecen los siguientes fragmentos:

  • 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 - Service
  • Migrate for Anthos - Export
  • Migrate for Anthos - PersistentVolumeClaim
  • Migrate for Anthos - StatefulSet
  • Skaffold - Bazel
  • Skaffold - Getting-started
  • Skaffold - Helm deployment
  • Skaffold - Kaniko

Completa con contexto

Cloud Code te proporcionará parámetros contextuales que te ayudarán a elegir la opción correcta según el esquema actual.

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 rojo del campo de nombre subrayado para destacar un valor no válido de “1234”; coloca el cursor sobre los estados de texto: "Tipo incorrecto. Se esperaba string”.

Valida archivos YAML de Skaffold

Cloud Code admite la edición de los archivos de configuración de Skaffold adicionales y proporciona plantillas inteligentes que te permiten validar los archivos skaffold.yaml con facilidad. Consulta esta guía sobre cómo usar una app existente con Cloud Code.

Plantillas YAML de Skaffold

Completa los archivos de configuración de Skaffold con contexto

Cloud Code te proporcionará parámetros contextuales y documentos relevantes que te ayudarán a elegir la opción correcta según el esquema actual.

Parámetros de Skaffold

Habilita la sincronización de archivos de Skaffold y la recarga en caliente

Para mejorar la eficiencia de tu flujo de trabajo de desarrollo local y evitar tener que recompilar, volver a implementar y reiniciar los pods, Skaffold admite la copia de archivos modificados en un contenedor implementado. Esto significa que cuando realizas cambios en archivos estáticos y de código fuente, puedes ver que tus cambios entran en vigor en cuestión de segundos, lo que crea un ciclo de reacción acelerado.

Para los archivos estáticos (como los archivos HTML y CSS), este comportamiento de copia de archivos se denomina sincronización de archivos.

En el caso de los archivos de código fuente, este comportamiento se conoce como recarga en caliente y funciona para los siguientes tipos de archivos:

  • Go: *.go
  • Java: *.java, *.kt, *.scala, *.groovy y *.clj
  • Node.js: *.js, *.mjs, *.coffee, *.litcoffee, *.json

Con la recarga en caliente configurada, Skaffold detecta cambios en los archivos admitidos y sincroniza estos cambios en el contenedor en ejecución de tu clúster, lo que evita la necesidad de una recompilación de imágenes complicada y el reinicio del Pod. Sin embargo, los cambios en otros tipos de archivos activan una recompilación de imagen.

La sincronización automática de archivos y la recarga en caliente están habilitadas de forma predeterminada cuando trabajas con Buildpacks como compilador predeterminado. Para otros compiladores como Docker, puedes especificar una sección sync en tu skaffold.yaml para el artefacto que estás personalizando.

Tu configuración de sincronización puede ser una de las siguientes (en orden de preferencia):

  • auto (solo para artefactos de Jib y Buildpacks)
  • infer
  • manual

Si especificaras una sincronización de manual para sincronizar todos los archivos HTML /static-html con la carpeta static en tu contenedor, skaffold.yaml contendrá esta sección sync:

build:
  artifacts:
    - image: gcr.io/k8s-skaffold/node-example
      context: node
      sync:
        manual:
          - src: 'static-html/*.html'
            dest: static

Para obtener un análisis detallado sobre la sincronización de archivos y la especificación de reglas de sincronización, consulta la guía de Skaffold sobre sincronización de archivos.

Descubre definiciones con la documentación rápida

Cloud Code muestra la documentación relevante de un recurso cuando destacas una línea en el archivo de configuración y accedes a Ver > Documentación rápida.

Documentación rápida

Analiza YAML con lint para detectar problemas de estructura y validez

Cloud Code proporciona asistencia de lint para problemas comunes del esquema y muestra errores descriptivos.

Analiza archivos YAML con lint

Aplica un archivo YAML

Para ejecutarkubectl apply -f Para aplicar un cambio de configuración con el archivo actual, puedes usar el ícono de acciones de kubectliconcono de acciones de kubectl , disponible en el margen de tu IDE y seleccionaEnviar la solicitud , Esto genera una vista de diferencias para revisar los cambios antes de hacer clic en Apply.

Se destaca la opción apply en la lista de acciones de kubectl.

Diferencia entre archivos YAML

Si deseas ver las diferencias entre un archivo YAML en el control de origen y un archivo YAML implementado, puedes usar el ícono de acciones de kubectl iconcono de acciones de kubectl disponible en el margen de tu editor. Elige la opción Diff (Diferencia) para que muestre una vista de diferencias a fin de comparar y contrastar dos archivos de esquema.

Se destaca la opción Diff en la lista de acciones kubectl

Realiza una ejecución de prueba de un archivo YAML

Para realizar una ejecución de prueba de tu archivo y verificar su validez, puedes usar el ícono de acciones de kubectliconcono de acciones de kubectl , disponible en el margen de tu IDE, para seleccionarEjecución de prueba en el servidor oEjecuta una prueba en el cliente , Esto ejecuta kubectl apply -f dry-run=server (o kubectl apply -f dry-run=client, para la opción Cliente) y te notifica si el archivo puede crearse con éxito en la ventana Terminal.

Se destaca la opción de ejecución de prueba en el servidor en la lista de acciones de kubectl

Obtén asistencia

Para enviar comentarios o informar un problema en tu IDE de IntelliJ, ve a Tools > Cloud Code > Help / About > . Envía comentarios o informa un problema para informar un error en GitHub o hacer una pregunta en Stack Overflow.

También puedes unirte al canal #cloud-code, que forma parte de la comunidad de Slack de Google Cloud.