Crea e implementa una app web alojada en contenedores

Aprende a crear una app web alojada en contenedores con el editor de Cloud Shell, probarla de forma local y, luego, implementarla en un clúster de Google Kubernetes Engine (GKE). Harás lo siguiente:


Para seguir la guía paso a paso sobre esta tarea directamente en el editor de Cloud Shell, haz clic en Guiarme:

Guiarme


Antes de comenzar

  1. En la consola de Google Cloud, ve a la página del selector de proyectos.

    Ir al selector de proyectos

  2. Selecciona o crea un proyecto de Google Cloud.

Crea tu app web

El Editor de Cloud Shell está precargado con las herramientas para el desarrollo en Cloud y lo usarás como entorno de creación de apps.

Para crear tu app, haz lo siguiente:

  1. Inicia el editor de Cloud Shell.

  2. Si se te solicita que autorices a Cloud Code a usar tus credenciales para realizar una llamada a la API de Google Cloud, haz clic en Autorizar.

  3. Inicia el menú de Cloud Code desde la barra de estado.

  4. Selecciona New Application.

  5. Selecciona Kubernetes application como el tipo de app de ejemplo.

  6. En la lista de apps de ejemplo de Kubernetes, selecciona Go:Hello World.

  7. Selecciona una carpeta para la ubicación de tu app y, luego, haz clic en Create New Application.

El Editor de Cloud Shell cargará la app en un nuevo lugar de trabajo. Una vez que se vuelva a cargar la app, podrás acceder a ella con la vista del explorador.

Prueba tu app en un clúster local

Ahora que creaste tu app, puedes ejecutarla en un clúster local de Kubernetes en Cloud Shell:

  1. Para abrir una terminal de Cloud Shell, selecciona Terminal > New Terminal.
  2. Para iniciar tu clúster local de minikube, ejecuta el siguiente comando desde el símbolo del sistema terminal:

    minikube start
    

    La configuración del clúster de minikube puede tardar un minuto.

  3. Si se te solicita que autorices a Cloud Shell a realizar llamadas a la API de Cloud, haz clic en Autorizar.

    Después de configurar tu clúster, aparecerá un mensaje similar al siguiente:

    Done! kubectl is now configured to
    use "minikube" cluster...
    

Después de configurar el clúster local, compila y ejecuta esta app:

  1. Abre el menú Cloud Code desde la barra de estado.
  2. Selecciona Run on Kubernetes.
  3. Si se te solicita, confirma que quieres usar el contexto actual de minikube.

    Este proceso tarda unos minutos, y puedes ver el estado de la implementación en la vista Development sessions.

    Si haces clic en diferentes nodos en la vista Development sessions, se muestran extractos de registro relacionados con la fase de implementación seleccionada.

  4. Cuando tu app finalice la compilación y la implementación, busca el nodo de redirección de puertos de tu servicio. En la vista Development sessions, expande Port Forward URLs > service > go-hello-world-external.

  5. Para iniciar la app, mantén el puntero sobre go-hello-world-external y, luego, haz clic en Open URL.

Edita tu app

Para comprender los componentes de la app de Hello World, consulta el diagrama en el archivo readme.md de la app. En general, la app consta de lo siguiente:

  • Una app web go-hello-world básica, main.go, que muestra una respuesta de plantilla “It's running!” para todas las solicitudes recibidas
  • Un servicio go-hello-world-external de balanceador de cargas, hello.service.yaml, que expone la app mediante la descripción de un Service de Kubernetes

Para modificar la app, haz lo siguiente:

  1. Modifica el archivo main.go para que muestre el mensaje “It's redeployed!”. El archivo se guardará automáticamente.
  2. Espera un minuto para que la app se termine de compilar e implementar, y supervisa su progreso en la vista Development sessions cuando se vuelva a compilar.

  3. Cuando finalice la compilación y la implementación, busca el nodo de redirección de puertos para tu servicio: Development sessions > Port Forward URLs > Service > go-hello-world-external.

  4. Para iniciar la app, mantén el puntero sobre go-hello-world-external y haz clic en Open URL.

Consulta los registros de la app

Si quieres analizar la app mientras se ejecuta, usa el Visor de registros a fin de supervisarlos:

  1. Para abrir el Visor de registros, abre la paleta de comandos (accesible con Ctrl/Cmd+Shift+P o View >Command Palette) y, luego, ejecuta Cloud Code: View Logs.

    Esta vista te permite filtrar los registros de la app y navegar por ellos.

  2. Especifica los filtros Deployment para ver los registros de la app, go-hello-world.

  3. Cambia a la pestaña de la app en la que se muestra el mensaje “It's redeployed!”. Vuelve a cargar la página en el navegador y, luego, regresa a la pestaña de Cloud Shell.

  4. Para ver los registros generados recientemente en el Visor de registros, haz clic en Refresh.

Crea un clúster de Google Kubernetes Engine

A fin de crear un clúster nuevo de Google Kubernetes Engine para implementar tu app, haz lo siguiente:

  1. Haz clic en Ícono de Cloud Code Cloud Code y, luego, expande la sección Kubernetes.

  2. Haz clic en Agregar un clúster a KubeConfig y, luego, en Google Kubernetes Engine en el menú Selección rápida.

  3. Cuando se te solicite habilitar container.googleapis.com, haz clic en .

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

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

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

  7. En la consola de Google Cloud, usa el proyecto que creaste, establece la zona en us-central1-a y el nombre del clúster en my-first-cluster.

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

  9. Después de crear el clúster, en el menú Selección rápida, haz clic en Actualizar la vista de clúster de Kubernetes Actualizar.

  10. Después de que el nombre de tu clúster nuevo aparezca en la lista, haz clic en el nombre del clúster. El clúster nuevo se agrega a la configuración y se configura para ser el contexto activo.

Implementa la app en un clúster de GKE

Por último, implementa tu app en el clúster nuevo:

  1. En el menú de Cloud Code, al que puedes acceder mediante la barra de estado, selecciona Run on Kubernetes.

  2. Confirma tu clúster recién creado como contexto para la app.

  3. Confirma la opción predeterminada para tu registro de imágenes.

  4. Espera un minuto para que la app se termine de compilar e implementar, y supervisa su progreso en la vista Development sessions cuando se vuelva a compilar.

  5. Cuando tu app finalice la compilación y la implementación, busca el nodo de redirección de puertos de tu servicio. En la vista Development sessions, expande Port Forward URLs > service > go-hello-world-external.

  6. Para iniciar la app, mantén el puntero sobre go-hello-world-external y haz clic en Open URL.

Realice una limpieza

Para borrar solo el clúster que creaste en esta guía de inicio rápido, haz lo siguiente:

  1. Mantén el puntero sobre el nombre del clúster y, luego, haz clic en Ícono de Abrir en la consola de Google Cloud Abrir en la consola de Google Cloud.
  2. Haz clic en Borrar y, luego, en Borrar.

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

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

    Ir a la página Proyectos

  2. Selecciona el proyecto que creaste para esta guía de inicio rápido y haz clic en Borrar.

  3. Escribe el ID del proyecto para confirmar y, luego, haz clic en Cerrar.

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

¿Qué sigue?