Usa una aplicación existente en Cloud Code para IntelliJ

Si tienes un proyecto existente configurado con los manifiestos de Kubernetes, un Dockerfile o Jib para compilar las imágenes, puedes abrirlo y usarlo con el complemento. La única configuración adicional necesaria es un archivo YAML de Skaffold que se puede generar de forma automática o crear con la plantilla que se proporciona.

Cuando termines de configurar el archivo YAML de Skaffold, asegúrate de especificar la ubicación en la que se almacenarán las imágenes de contenedor donde se enviará la imagen del proyecto.

Arranca el proyecto automáticamente

Tu proyecto debe tener uno o más manifiestos de Kubernetes. Si Cloud Code detecta cualquier manifiesto de Kubernetes en el proyecto, intentará iniciarlo.

Si Cloud Code no detecta una configuración de Skaffold existente, se te solicitará que la configures.

Requisitos previos

Tu proyecto debe cumplir con los siguientes requisitos para que se te solicite crear un archivo skaffold.yaml y ejecutar la configuración necesaria:

  • (Opción 1) Tu proyecto tiene un Dockerfile y está configurado para Jib, o

  • (Opcional 2) Tu proyecto se puede compilar mediante Buildpacks y tiene recursos de Kubernetes.

Establece la configuración de ejecución de Kubernetes

Si se cumplen los requisitos previos, Cloud Code te solicitará una notificación para crear un archivo skaffold.yaml (si aún no existe) y cualquier configuración de ejecución necesaria:

Notificación con un vínculo para crear los parámetros de configuración de ejecución de Kubernetes de Cloud Code

  1. Haz clic en la notificación. De esta forma, se crea automáticamente la configuración si es posible.

    Si no es posible crear de forma automática la configuración de Skaffold debido a que se detectan varias imágenes o compiladores, Cloud Code mostrará un cuadro de diálogo que te pedirá proporcionar asignaciones entre las imágenes y los compiladores detectados.

    Especifica la configuración de compilación que se usará en tu configuración de Skaffold

    Como alternativa, también puedes establecer una configuración de Skaffold si navegas a Tools >Cloud Code >Kubernetes y seleccionas Add Kubernetes Support.

    Con esta opción, se analizan los recursos de Kubernetes de tu proyecto y se genera un archivo skaffold.yaml (si aún no existe), además de las configuraciones de ejecución necesarias. Las dos opciones de configuración de ejecución generadas incluyen una para ejecutar tu proyecto en Kubernetes y otra para desarrollo en un clúster de Kubernetes.

  2. Una vez que agregues la compatibilidad, podrás comenzar a ejecutar y depurar tu proyecto en Kubernetes mediante las opciones de configuración de ejecución recién agregadas.

Crea una configuración de Skaffold para Cloud Code de forma manual

Puedes crear manualmente un archivo skaffold.yaml nuevo o agregar uno existente a tu proyecto.

Para crear un archivo skaffold.yaml de forma manual con plantillas activas, sigue estos pasos:

  1. Crea un archivo nuevo llamado skaffold.yaml en el directorio raíz de tu proyecto (haz clic con el botón derecho > New > File).

  2. Con el cursor en el archivo nuevo, usa Ctrl+Space para que se muestren las sugerencias de plantillas en vivo y elige la plantilla de Skaffold que quieras.

    Usa la plantilla de YAML de Skaffold

  3. Propaga el campo de la imagen con el nombre de la imagen de tu proyecto y el campo manifiestos con una lista de los recursos de Kubernetes que deseas implementar desde el IDE.

  4. Después de que Cloud Code determine que tu archivo skaffold.yaml es válido, haz clic en el mensaje para crear configuraciones de ejecución de Kubernetes.

    Notificación sobre crear un objetivo de ejecución de Kubernetes

Ejemplos de opciones de configuración de Skaffold para Cloud Code

  • Compilaciones basadas en Dockerfile:

    build:
      artifacts:
        - image: image_name
    deploy:
      kubectl:
        manifests:
          - k8s/web.yaml
          - k8s/backend.yaml
    
  • La sección de compilación para los proyectos de Maven o Gradle en Java con el complemento Jib (la sección de implementación se mantiene igual que en el ejemplo anterior):

    build:
    artifacts:
    - image: image_name
      jib: {}
    
  • Si deseas definir opciones de configuración de compilación, de prueba y de implementación para diferentes contextos, puedes tener diferentes perfiles. A continuación, se muestra un ejemplo de un perfil de Cloud Build a fin de configurar Cloud Code para compilar imágenes mediante Cloud Build:

    profiles:
    # use the cloudbuild profile to build images using Google Cloud Build
    - name: cloudbuild
      build:
        googleCloudBuild: {}
    
  • Si deseas implementar tu proyecto con Helm, consulta la documentación de Helm.

Especifica dónde se almacenan las imágenes de contenedor

Almacenamiento de imágenes de contenedor

Antes de implementar tu aplicación, deberás definir un repositorio de imágenes predeterminado para usar con tu proyecto.

De forma predeterminada, el proyecto está configurado para usar el nombre de la imagen especificado en tus manifiestos de Kubernetes. También puedes personalizar esta especificación de imagen. Una vez que hayas configurado tu repositorio preferido (Artifact Registry, Container Registry, DockerHub, el repositorio privado, etc.), edita la configuración de ejecución y especifícalo como el repositorio de imágenes predeterminado en la configuración de la configuración de ejecución. En el caso de las imágenes de Google Container Registry, el campo incluye autocompletado para ayudarte a encontrar tu repositorio de Container Registry más rápido.

Puedes acceder a estas configuraciones desde el cuadro de diálogo Run/Debug Configurations en la barra de tareas superior en Edit Configurations > Develop on Kubernetes > Image repositorio.

El repositorio de imágenes predeterminado en la configuración de ejecución se establece con el formato “gcr.io/” y se presentan opciones de autocompletado según el proyecto actual y el clúster activo

Si deseas obtener más información para especificar tus preferencias de imagen del contenedor, consulta la Guía de configuración de la imagen de contenedor.

Parámetros de configuración de compilación

Una vez que configuras tu imagen de contenedor, puedes establecer la configuración de compilación. Cloud Code es compatible con los tipos de artefactos Docker, Jib y Buildpacks.

En la pestaña Build / Deploy de la configuración de Run (Editar configuración > Desarrollar en Kubernetes), puedes configurar configuración de tu perfil predeterminado.

Configuración de compilación que se muestra en la pestaña Build/Deploy

Si deseas obtener más información para especificar la configuración de compilación de tu imagen, consulta la guía de configuración de las preferencias de compilación de la imagen del contenedor.

¿Qué sigue?

Obtener asistencia

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