Implementa una app de Kubernetes con Cloud Code para IntelliJ

Aprende a usar Cloud Code para IntelliJ para implementar tu primera aplicación de Kubernetes.

En esta guía de inicio rápido, configurarás una aplicación nueva de Kubernetes mediante una plantilla de inicio de Hello World, ejecutarás tu app en un clúster, configurarás la recompilación continua para desarrollar la app de forma iterativa, depurarás código de ejecución y verás los registros que se transmiten desde tu aplicación en vivo.

Si bien te recomendamos usar Google Cloud para esta guía, puedes usar Cloud Code con un clúster local con herramientas como Minikube y Docker Desktop. Sin embargo, las funciones como la creación de clúster de GKE en vivo y la entrega continua integrada se experimentan mejor con un Google Cloud proyecto.

Antes de comenzar

Ya sea que elijas usar un clúster local o alojado en la nube, para completar esta guía de inicio rápido, sigue estos pasos:

  1. Instala Git. Se requiere Git para copiar muestras de código en tu máquina.
  2. Instala Docker. Se requiere Docker para compilar el código de muestra. Asegúrate de que tu cuenta de usuario local pueda compilar contenedores.
  3. Instala el complemento de Cloud Code si aún no lo hiciste.

Para completar esta guía de inicio rápido con Google Cloud, sigue estos pasos:

  1. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  3. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  4. Verify that billing is enabled for your Google Cloud project.

  5. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

  6. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  7. If you're using an existing project for this guide, verify that you have the permissions required to complete this guide. If you created a new project, then you already have the required permissions.

  8. Verify that billing is enabled for your Google Cloud project.

  9. Enable the Google Kubernetes Engine API.

    Roles required to enable APIs

    To enable APIs, you need the Service Usage Admin IAM role (roles/serviceusage.serviceUsageAdmin), which contains the serviceusage.services.enable permission. Learn how to grant roles.

    Enable the API

Roles obligatorios

Si quieres obtener los permisos que necesitas para completar esta guía de inicio rápido con Google Cloud, pídele a tu administrador que te otorgue el rol de IAM de administrador de Kubernetes Engine (roles/container.admin) en el proyecto. Para obtener más información sobre cómo otorgar roles, consulta Administra el acceso a proyectos, carpetas y organizaciones.

También puedes obtener los permisos necesarios a través de roles personalizados o cualquier otro rol predefinido.

Crea una aplicación

Cloud Code incluye un conjunto de plantillas de muestra de código para que puedas comenzar. Para crear una aplicación nueva mediante una muestra existente sigue estos pasos:

  1. En tu IDE, abre File (Archivo) New Project (Proyecto nuevo) y selecciona Cloud Code: Kubernetes (Cloud Code: Kubernetes).

  2. Selecciona una plantilla Hello World de la lista de aplicaciones de inicio. Lista de plantillas disponibles: Python, Go, NodeJS, aplicaciones del libro de visitas de Hello World de Java

  3. Elige un nombre para el proyecto.

    Después de hacer clic en Finish (Finalizar), Cloud Code clonará la plantilla que elegiste y abrirá el proyecto que recién creaste para usarlo.

    En el caso de las plantillas de Java, se te solicitará que importes los proyectos de Maven necesarios para sincronizar el pom.xml. Haz clic en Add as Maven project (Agregar como proyecto de Maven) y, luego, en Import Changes (Importar cambios).

Elige un clúster

Para desarrollar tu aplicación, necesitarás un clúster de Kubernetes asociado alojado de forma local con Minikube o con una plataforma de Cloud, como un clúster de Google Kubernetes Engine.

Clúster local

Si aún no tienes un clúster para esta guía de inicio rápido, puedes elegir ejecutar tu aplicación con un clúster de Minikube local administrado por Cloud Code. Cloud Code inicia un clúster de Minikube para ejecutar tu aplicación y detiene el clúster cuando se detiene la implementación. Si un clúster de Minikube ya se encuentra en ejecución, Cloud Code usa el clúster de Minikube existente para la implementación.

Puedes elegir usar este clúster de Minikube administrado por Cloud Code en el siguiente paso, desarrollar tu aplicación, configurándolo como tu preferencia de implementación.

Clúster basado en la plataforma de Cloud

Si ya tienes un clúster configurado para trabajar con herramientas de Kubernetes, como kubectl, que puedes usar para esta guía de inicio rápido, Cloud Code se implementa automáticamente en él. Puedes continuar con el desarrollo de tu aplicación, en la que puedes confirmar que tu clúster preferido esté configurado como tu contexto actual.

Si no lo tienes, puedes crear uno con las instrucciones específicas de tu plataforma de Cloud. Para GKE, sigue la guía Crea un clúster.

Desarrolla tu aplicación

Para iniciar el desarrollo de tu aplicación en Kubernetes, sigue estos pasos:

  1. Si ejecutas en un clúster alojado en una plataforma de Cloud, asegúrate de haber definido la ubicación en la que se almacenan tus imágenes de contenedor para Desarrollar en Kubernetes.

    Si accediste a Google Cloud en tu IDE y tienes un proyecto predeterminado definido, Cloud Code usa de forma automática el repositorio de imágenes de contenedor predeterminado (gcr.io/{project_id}, en el que {project_id} hace referencia a tu proyecto predeterminado).

  2. Asegúrate de que esté configurado tu contexto de Kubernetes preferido. Esto se puede especificar en la configuración de Develop on Kubernetes (accesible a través de Run > Edit Configurations > Develop on Kubernetes), en la pestaña Run y en la sección de preferencias de Deployment.

    Puedes elegir implementar en un contexto actual (predeterminado), de forma local en un clúster de Minikube o en otro contexto disponible.

    De forma predeterminada, tu aplicación de Kubernetes se ejecutará en el modo On-demand con la opción On demand seleccionada. Si lo prefieres, puedes seleccionar la opción On file save.

  3. Elige el objetivo de ejecución Develop on Kubernetes (Desarrollar en Kubernetes) en el selector de configuración Run/Debug en la barra de navegación.

    Configuraciones de ejecución para la implementación en Kubernetes

    Esto garantiza que los cambios de código se compilen, se envíen y se implementen de forma automática en una versión nueva de tu aplicación.

  4. Para iniciar el ciclo de desarrollo en tu clúster de Kubernetes, haz clic en la acción de ejecución de Develop on Kubernetes.

  5. En la ventana de salida, en la pestaña Registros, consulta los registros de aplicaciones entrantes.

    Una vez que se inicie la implementación, verás la lista de puertos redireccionados de la aplicación implementada.

  6. Cuando la implementación se complete de forma correcta, se te notificará que las URL de servicio nuevas están disponibles. Haz clic en la pestaña Service URLs para ver las URL y, luego, haz clic en el vínculo de la URL a fin de abrir tu navegador con la aplicación en ejecución.

    Visualiza los servicios con redirección de puertos en la pestaña URL de servicio

    Como alternativa, puedes abrir el registro de eventos y, luego, hacer clic en el vínculo para abrir el navegador con la aplicación en ejecución.

    En el panel Recursos implementados , se muestra lo que implementaste durante la sesión de desarrollo.

Depura tu aplicación

Cloud Code admite la aplicación de cambios durante la depuración.

Para depurar tu aplicación, haz lo siguiente:

  1. Para comenzar el ciclo de desarrollo en modo de depuración en el clúster de Kubernetes, haz clic en la acción de depuración Ícono de acción de depuración de Develop on Kubernetes.

    Iniciar el ciclo de desarrollo del clúster de Kubernetes en modo de depuración

  2. Cloud Code adjuntará una sesión de depuración. Cuando se complete de forma correcta, se abrirá la ventana de la Herramienta de depuración para confirmar la conexión (en la pestaña Console).

    Ahora puedes depurar en tu clúster activo de Kubernetes.

  3. Haz clic en el margen en la línea ejecutable del código en el que deseas agregar una interrupción.

    Los círculos rellenos de color rojo indican las interrupciones activas, mientras que los círculos vacíos con contornos rojos indican las interrupciones inhabilitadas.

  4. Cada vez que envíes una solicitud nueva a tu aplicación, se detendrá en la línea deseada.

    Sesión del depurador de Kubernetes

  5. Si deseas finalizar la sesión de depuración, haz clic en el ícono de detención en la configuración de ejecución Develop on Kubernetes.

Ver registros

Además de ver una transmisión en vivo de los registros de los pods en ejecución en el resultado de la terminal mientras desarrollas y ejecutas la aplicación, puedes ver los registros de un pod específico si navegas hacia el explorador de Kubernetes.

Para ver los registros de un pod específico, sigue estos pasos:

  1. Navega a Kubernetes Explorer. Se puede acceder desde el panel lateral ubicado a la derecha o mediante Herramientas > Cloud Code > Kubernetes > Ver explorador de clústeres.

    Panel de Kubernetes Explorer abierto mediante la pestaña que se encuentra en la barra de tareas del lado derecho

  2. Selecciona el pod del que deseas ver los registros.

  3. Haz clic con el botón derecho en el pod y selecciona Stream Logs (Transmitir registros). Como alternativa, puedes transmitir registros para contenedores individuales que se ejecutan en pods.

    Esto genera registros en la consola de Kubernetes Explorer.

    Transmite registros desde un pod mediante el menú que aparece cuando se hace clic con el botón derecho para generar registros en la consola de Kubernetes Explorer

Limpia

Sigue estos pasos para evitar que se apliquen cargos a tu Google Cloud cuenta de por los recursos que usaste en esta página.

  1. Ve a la página Proyectos en la Google Cloud consola:

    Ir a la página Proyectos

  2. Selecciona el proyecto que creaste para este inicio rápido y bórralo. Para ello, debes hacer clic en el ícono de la papelera que se encuentra al lado.

    Esta acción cierra el proyecto y programa su eliminación.

¿Qué sigue?