Desplegar una aplicación de Kubernetes mediante el desarrollo remoto

En esta página se explica cómo empezar a usar rápidamente Cloud Code para VS Code con un entorno de desarrollo remoto en Cloud Shell.

En esta guía de inicio rápido, omitirás la configuración y clonarás un proyecto en tu espacio de trabajo de desarrollo remoto con solo hacer clic en un botón. Después, crearás un clúster, ejecutarás una aplicación de Kubernetes en él, depurarás el código en ejecución, verás los registros de tu aplicación activa y conectarás un terminal a tu contenedor en ejecución.

Antes de empezar

Para configurar los recursos auxiliares y acceder a Cloud Shell, el entorno de desarrollo remoto en Google Cloud que se usa en esta guía de inicio rápido, dentro de VS Code, sigue estos pasos:

  1. Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
  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. Verify that billing is enabled for your Google Cloud project.

  4. 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

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

  6. Instala Visual Studio Code en tu máquina, si aún no lo has hecho.
  7. Instala la extensión de Visual Studio Code Remote - SSH.
  8. Instala Git. Se necesita Git para copiar muestras en tu máquina.
  9. Instala el complemento Cloud Code si aún no lo has hecho.
  10. Iniciar Cloud Code

    Cuando abres Visual Studio Code conectado a un entorno de desarrollo remoto en Cloud Shell, el entorno tiene todas las herramientas que necesitas para desarrollar aplicaciones de Kubernetes.

    1. Para empezar a trabajar en tu espacio de trabajo de desarrollo remoto, elige el idioma que prefieras para el proyecto clonado y, a continuación, haz clic en el botón Abrir con Cloud Code:

      VS Code se inicia y clona un proyecto en tu espacio de trabajo de desarrollo remoto.

    2. Si aún no has configurado los requisitos previos, se te pedirá que los instales.

    Crear un clúster de GKE

    Para crear un clúster Estándar de Google Kubernetes Engine (GKE), sigue estos pasos:

    1. Haz clic en Cloud Code y despliega la sección Kubernetes.

    2. Haz clic en Añadir. Añade un clúster a KubeConfig y, a continuación, haz clic en Google Kubernetes Engine en el menú Selección rápida.

    3. Cuando se te pida que habilites la API de contenedor, selecciona .

    4. Haz clic en + Crear un clúster de GKE.

    5. Elige Estándar como tipo de clúster.

    6. Haz clic en Abrir para permitir que Cloud Code abra la consola Google Cloud .

    7. En la Google Cloud consola, comprueba que el proyecto seleccionado sea el que has creado o elegido anteriormente.

    8. Asigna el nombre my-first-cluster al clúster.

    9. Seleccione Zonal como tipo de ubicación y elija la zona us-central1-a.

    10. Haz clic en Crear. La creación del clúster tarda unos minutos.

    11. Una vez creado el clúster, vuelve a hacer clic en Añadir un clúster a KubeConfig y selecciona de la lista el clúster que acabas de crear.

    12. El nuevo clúster se añade a la configuración y se configura como contexto activo.

    Ejecutar y ver tu aplicación

    Ahora que lo tienes todo configurado, puedes ejecutar tu aplicación y verla en directo. Cloud Code monitoriza el sistema de archivos para detectar cambios, de modo que puedas editar y volver a ejecutar tu aplicación casi en tiempo real.

    Para ejecutar la aplicación, sigue estos pasos:

    1. En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.

      Nombre del proyecto activo en la barra de estado

    2. En el menú de selección rápida que aparece, selecciona Ejecutar en Kubernetes. Cuando se te vuelva a pedir, selecciona Ejecutar en Kubernetes.

    3. Confirma si quieres usar el contexto del clúster actual o cambiar a otro.

    4. Si se te solicita, elige un registro de imágenes al que enviar las imágenes. Si vas a crear un registro de imágenes con gcr.io/PROJECT_ID, asegúrate de que esté en el mismo proyecto que tu clúster.

    5. Una vez que la aplicación se esté ejecutando en Kubernetes, haz clic en la entrada Estado de la tarea Ejecutar en Kubernetes de la sección Sesiones de desarrollo. Se abrirá una ventana con la pestaña Output (Salida), que incluye la URL de tu aplicación. Para abrir esta URL, pulsa Control (o Comando en macOS) y haz clic en la dirección.

      También puedes encontrar tu aplicación en la sección Resumen de cargas de trabajo de la Google Cloud consola. Para obtener más información sobre tu aplicación en ejecución, como su dirección IP externa y su número de puerto, haz clic en su nombre en la lista.

    Consejos para solucionar problemas

    Si usas un clúster ya creado, sigue estos pasos para activarlo y obtener sus credenciales:

    1. En VS Code, haz clic en Cloud Code y expande la sección Kubernetes.

    2. Haz clic con el botón derecho en el nombre del clúster y, a continuación, en Definir como clúster activo.

    Depurar una aplicación

    Para depurar tu aplicación, sigue estos pasos:

    1. En la barra de estado de Cloud Code, haz clic en el nombre del proyecto activo.

      Nombre del proyecto activo en la barra de estado

    2. En el menú de selección rápida que aparece, selecciona Depurar en Kubernetes.

    3. Si se te pide, autentica tus credenciales para ejecutar y depurar una aplicación de forma local.

    4. Si se te pide, confirma si quieres usar el contexto del clúster actual o cambiar a otro.

      Cloud Code usa las configuraciones de cloudcode.kubernetes en el archivo .vscode/launch.json para ejecutar la aplicación y adjuntar una sesión de depuración.

      Cloud Code compila tus contenedores, los envía al registro, aplica las configuraciones de Kubernetes al clúster y devuelve la dirección IP que puedes usar para consultar tu aplicación activa.

    5. Antes de que se adjunte la sesión del depurador, se te pedirá que confirmes o introduzcas el directorio del contenedor remoto en el que se encuentra el programa que quieres depurar, o que pulses ESC para omitir la depuración del contenedor.

    6. Para añadir un punto de interrupción a la línea 9, abre src/app.js y, a continuación, haz clic en el margen del editor.

      Los círculos rojos rellenos indican puntos de interrupción activos, mientras que los círculos grises huecos indican puntos de interrupción inhabilitados. Para tener un control más preciso de los puntos de interrupción, puedes usar la sección Puntos de interrupción de la vista Depuración de VS Code.

      Sección de puntos de interrupción del panel de la izquierda de la vista Depuración que permite añadir, quitar e inhabilitar puntos de interrupción.

      Cuando envías una nueva solicitud a tu aplicación, el depurador se detiene en el primer punto de interrupción activo.

      En el siguiente ejemplo, en Local de la sección Variables, observe que el valor de res._contentLength; de Hello, world! es 13.

      La aplicación se ha pausado en el punto de interrupción y las secciones de variables y pila de llamadas se han rellenado con los valores del ámbito.

    7. Edita la cadena que se envía en la línea 8 y cámbiala por Hello, goodbye!. Después, reinicia la acción Depurar en Kubernetes.

      Una vez que se haya recompilado y vuelto a implementar la aplicación, anota el valor actualizado de res._contentLength.

      Aplicación pausada en el punto de interrupción con valores actualizados

    Cuando empiece la sesión de depuración, el panel Sesiones de desarrollo mostrará la vista de registro estructurado. Cuando empieza una tarea, aparece con un semicírculo giratorio progress_activity.

    Si una tarea se completa correctamente, aparecerá una marca de verificación check_circle junto al paso.

    Para ver los detalles de un paso, haz clic en él en el panel Sesión de desarrollo. El panel Información muestra el paso en el registro.

    Abrir un terminal en un contenedor

    Para abrir un terminal en tu contenedor, sigue estas instrucciones:

    1. Haz clic en Cloud Code y despliega la sección Kubernetes.

    2. Despliega las siguientes secciones:

      • La sección del clúster que prefieras
      • La sección Espacios de nombres y, a continuación, la sección del espacio de nombres que prefieras
      • La sección Pódcasts y, a continuación, la sección del pódcast que prefieras
      • Sección Contenedores

        Pods de Cloud Code

    3. Haz clic con el botón derecho en el contenedor en el que quieras abrir un terminal y, a continuación, haz clic en Get Terminal (Obtener terminal).

      Se abrirá una terminal. Ahora tienes acceso a un shell dentro del contenedor en ejecución.

    Limpieza

    Después de detener la aplicación, todos los recursos de Kubernetes implementados durante la ejecución se eliminan automáticamente.

    Para evitar que se apliquen cargos en tu cuenta por otros recursos utilizados en esta guía de inicio rápido, asegúrate de eliminar el proyecto o el clúster que has creado si quieres volver a usar el proyecto.

    Para eliminar el clúster, sigue estos pasos:

    1. Haz clic en Cloud Code y, a continuación, expande el explorador Kubernetes.
    2. Coloca el puntero sobre el nombre del clúster y haz clic en open_in_new Abrir en la consola Google Cloud .
    3. Haz clic en Eliminar y, a continuación, en Eliminar.

    Para eliminar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:

    1. In the Google Cloud console, go to the Manage resources page.

      Go to Manage resources

    2. In the project list, select the project that you want to delete, and then click Delete.
    3. In the dialog, type the project ID, and then click Shut down to delete the project.

    Siguientes pasos