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:
Antes de comenzar
-
In the Google Cloud console, go to the project selector page.
-
Select or create a Google Cloud project.
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:
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.
Inicia el menú Cloud Code desde la barra de estado.
Selecciona New Application.
Selecciona Kubernetes application como el tipo de app de ejemplo.
En la lista de apps de ejemplo de Kubernetes, selecciona Go:Hello World.
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 espacio de trabajo. Una vez que se vuelva a cargar la
app, podrás acceder a ella con la
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:
- Para abrir una terminal de Cloud Shell, selecciona Terminal > New Terminal.
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.
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:
- Abre el menú
Cloud Code desde la barra de estado. - Selecciona
Run on Kubernetes . 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.
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 .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
- Una app web
go-hello-world
básica, , que muestra una respuesta de plantilla “It's running!” para todas las solicitudes recibidasmain.go
- Un servicio
go-hello-world-external
de balanceador de cargas, , que expone la app mediante la descripción de un Service de Kuberneteshello.service.yaml
Para modificar la app, haz lo siguiente:
- Modifica el archivo
para que muestre el mensaje “It's redeployed!”. El archivo se guardará automáticamente.main.go
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.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 .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:
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.
Especifica los filtros
Deployment para ver los registros de la app,go-hello-world
.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.
Para ver los registros generados recientemente en el Visor de registros, haz clic en
Refresh .
Cree 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:
Haz clic en Cloud Code y, luego, expande la sección Kubernetes.
Haz clic en
. Agrega un clúster a KubeConfig y, luego, haz clic en Google Kubernetes Engine en el menú Selección rápida.Cuando se te solicite que habilites
container.googleapis.com
, haz clic en Sí.Haz clic en + Crear un clúster de GKE nuevo.
Elige Estándar como el tipo de clúster.
Haz clic en Abrir para permitir que Cloud Shell abra la consola de Google Cloud.
En la consola de Google Cloud, usa el proyecto que creaste y configura la zona como
us-central1-a
y establece el nombre del clúster enmy-first-cluster
.Haz clic en Crear. La creación del clúster tarda unos minutos.
Después de crear el clúster, en el menú Selección rápida, haz clic en Actualiza.
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:
En el menú de
Cloud Code , al que puedes acceder mediante la barra de estado, seleccionaRun on Kubernetes .Confirma tu clúster recién creado como contexto para la app.
Confirma la opción predeterminada para tu registro de imágenes.
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.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 .Para iniciar la app, mantén el puntero sobre
go-hello-world-external y haz clic en Open URL.
Realice una limpieza
Si deseas borrar solo el clúster que creaste para esta guía de inicio rápido, haz lo siguiente:
- Mantén el puntero sobre el nombre de tu clúster y haz clic en Abrir en la consola de Google Cloud.
- Haz clic en Borrar y, luego, en Borrar.
Para borrar tu proyecto (y los recursos asociados, incluidos los clústeres), sigue estos pasos:
Ve a la página Proyectos en la consola de Google Cloud.
Selecciona el proyecto que creaste para esta guía de inicio rápido y haz clic en Borrar.
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?
Descubre las funciones de la Interfaz del editor de Cloud Shell.
Lee sobre la depuración con el editor de Cloud Shell y la compatibilidad adicional del editor de Cloud Shell para aplicaciones de Kubernetes.
Implementa tus aplicaciones en clústeres de ARM64, AMD64 o GKE de arquitectura mixta.