Guía de inicio rápido: Implementa una app de Kubernetes con Cloud Code para IntelliJ

Implementa una app de Kubernetes con Cloud Code para IntelliJ

En esta página, se muestra cómo comenzar a usar Cloud Code.

En esta guía de inicio rápido, configurarás una nueva aplicación de Kubernetes con una plantilla de inicio de Hello World, ejecutarás tu app en el clúster que quieras, iniciarás una recompilación continua para desarrollar tu app de manera iterativa, depurarás el código en ejecución y podrás sentarte a ver los registros que se transmiten desde tu aplicación activa.

Antes de comenzar

  1. Si deseas usar Google Cloud, deberás crear o seleccionar un proyecto de Google Cloud y habilitar la facturación en tu proyecto.

    Como alternativa, puedes usar un clúster alojado en cualquier otra plataforma de Cloud o un clúster de Kubernetes local con herramientas como Minikube y Docker Desktop.

  2. Instala Git para que Cloud Code pueda realizar operaciones de Git, como clonar una muestra.

Instala el complemento

Para instalar el complemento de Cloud Code, haz lo siguiente:

  1. Si aún no lo hiciste, instala el IDE de JetBrains versión 2020.3+ (como IntelliJ Ultimate/Community, PyCharm Professional/Community, WebStorm, GoLand).

  2. Para todas las plataformas en la nube, asegúrate de que el cliente de Docker (autenticado con tu registro de Docker) esté instalado en la PATH de tu máquina (su carpeta debe estar visible en un directorio en tu PATH). Para verificar si ya tienes Docker instalado, ejecuta docker -v.

    Cloud Code instala y administra automáticamente las siguientes dependencias en tu IDE: minikube, kubectl, Skaffold y Google Cloud SDK.

  3. Abre IntelliJ IDEA (o cualquier IDE de JetBrains admitido).

  4. Una vez que se abra el IDE, actualiza esta página.

  5. Instala el complemento de Cloud Code:

  6. En el diálogo de instalación que se abre en tu IDE, haz clic en Aceptar para configurar Cloud Code.

  7. Si ejecutas Cloud Code en Silicon de serie M de Apple, se te solicitará que instales Rosetta 2. Esto permite que Cloud Code instale kubectl como una dependencia administrada.

    Si prefieres no instalar Rosetta 2, desactiva las dependencias administradas (IntelliJ IDEA >Preferencias >Herramientas >Cloud Code >Dependencias ) y, luego, instala tu propia versión de ARM de kubectl como se describe enVersiones personalizadas de dependencias.

Crea una aplicación

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.

    Cuando hagas clic en 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 pedirá que importes los proyectos de Maven necesarios para sincronizar tu pom.xml. Haz clic en Agregar como proyecto de Maven y, luego, en 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 en la nube, 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 ejecutar tu aplicación con un clúster local de Minikube administrado por Cloud Code. Cloud Code inicia un clúster de Minikube para ejecutar la aplicación y lo detiene cuando se detiene la implementación. Si un clúster de Minikube ya se está ejecutando, Cloud Code reutiliza el clúster existente para implementarlo.

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

Clúster basado en Cloud Platform

Si ya tienes un clúster configurado para trabajar con herramientas de Kubernetes (como kubectl) que puedes usar en esta guía de inicio rápido, Cloud Code lo implementa automáticamente. Puedes continuar con el desarrollo de aplicaciones, en los que puedes confirmar que tu clúster preferido está configurado como tu contexto actual.

De lo contrario, puedes crear una con las instrucciones específicas de la plataforma de nube. En GKE, puedes seguir 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 un clúster alojado en una plataforma de nube, asegúrate de definir dónde se almacenan las 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 el contexto de Kubernetes preferido. Puedes especificarlo en tu configuración de Desarrollo en Kubernetes (a la que se puede acceder a través de Run, Edit Configurations, Develop on Kubernetes), en la pestaña Run y en la sección Deployment Preferences.

    Puedes 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 modo a pedido con la opción A pedido seleccionada. Si lo prefieres, puedes seleccionar la opción Guardar en archivo.

  3. Elige el objetivo de ejecución Develop on Kubernetes (Desarrollar en Kubernetes) en el selector de configuración de ejecución y depuración 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 comenzar el ciclo de desarrollo en tu clúster de Kubernetes, haz clic en la acción de ejecución de Develop on Kubernetes (Desarrollar en Kubernetes).

  5. En la ventana de salida, en la pestaña Registros, consulta los registros de la aplicación 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.

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. Haz clic en la acción de depuración ícono de acción de ejecutar para Develop on Kubernetes (Desarrollar en Kubernetes) a fin de iniciar el ciclo de desarrollo en modo de depuración en tu clúster de 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 correctamente, 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.

Visualiza los registros

Además de ver una transmisión en vivo de los registros de los Pods en ejecución en la salida de la terminal a medida que desarrollas y ejecutas la aplicación, puedes ver los registros de un Pod específico si navegas a Kubernetes Explorer.

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

Realice una limpieza

Para evitar que se apliquen cargos en tu cuenta por los recursos que se usan en esta guía de inicio rápido, asegúrate de borrar el clúster y el proyecto que creaste.

Si usas Google Cloud y deseas borrar tu proyecto (y los recursos asociados, que se incluyen los clústeres de GKE), sigue estos pasos:

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

    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.

    Con esta acción, se cierra el proyecto y se programa su eliminación.

Realiza una limpieza

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

¿Qué sigue?