Objetivos
Aprende a realizar las siguientes tareas de desarrollo en el editor de Cloud Shell, un IDE de demostración en línea:
Crear una app de ejemplo de Kubernetes
Ejecuta, actualiza y visualiza los registros de la app en tu entorno de desarrollo.
Implementa una app en un clúster de GKE.
Puedes seguir un proceso similar en tu propio IDE si instalas Cloud Code.
Para seguir la guía paso a paso sobre esta tarea de forma directa en la consola de Google Cloud, haz clic en Guiarme:
Costos
En este documento, usarás los siguientes componentes facturables de Google Cloud:
Para generar una estimación de costos en función del uso previsto, usa la calculadora de precios.
Cuando finalices las tareas que se describen en este documento, puedes borrar los recursos que creaste para evitar que continúe la facturación. Para obtener más información, consulta Cómo realizar una limpieza.
Antes de comenzar
Crearás un clúster de Kubernetes. En Crea un clúster e implementa una carga de trabajo, se muestra cómo hacerlo.
Elige un proyecto y un clúster de Google Cloud
Cuando implementes tu app en GKE más adelante en este instructivo, deberás especificar un proyecto de Google Cloud y un clúster de GKE.
Ve a la página Clústeres de GKE.
Elige un proyecto que contenga un clúster de GKE.
Toma nota del nombre del proyecto y del clúster.
Necesitarás esta información más adelante.
Crea una app en el editor de Cloud Shell
En la consola de Google Cloud, haz clic en
Cloud Shell en la barra de tareas para abrir Cloud Shell.Haz clic en
Abrir editor .Espera a que se inicialice el Editor de Cloud Shell.
En el Editor de Cloud Shell, haz clic en Ver > Paleta de comandos.
Busca la opción Cloud Code: Aplicación nueva y haz clic en ella.
Selecciona Aplicación de Kubernetes y, luego, Go: Hello World.
Cada framework de lenguaje proporciona experiencias un poco diferentes, y en este instructivo, se describen las funciones disponibles para Go.
En el diálogo Guardar, haz clic en Crear aplicación nueva.
El Editor de Cloud Shell vuelve a cargar y muestra los archivos fuente de tu app en la vista del Explorador.
La app incluye los siguientes archivos:
Una app web
go-hello-world
básica, , que muestra una respuesta de plantilla “It's running!” para todas las solicitudes recibidas.main.go
Una especificación de Deployment de Kubernetes,
.hello.deployment.yaml
Una especificación de Service de Kubernetes que define un balanceador de cargas para la app,
.hello.service.yaml
Un archivo Skaffold que controla el flujo de trabajo para compilar e implementar la app,
.skaffold.yaml
Prueba la app en tu entorno de desarrollo
Cuando sea posible, ejecuta apps en tu entorno de desarrollo antes de implementarlas en GKE. Esto puede ayudarte a identificar cualquier problema potencial sin usar la cuota de Google Cloud.
Para ejecutar la app en tu entorno del editor de Cloud Shell, haz lo siguiente:
En el Editor de Cloud Shell, haz clic en Terminal > Nueva terminal.
Inicia un clúster ejecutando el siguiente comando:
minikube start
minikube es una implementación básica de Kubernetes que crea una VM en su entorno local y, además, implementa un clúster simple que contiene solo un nodo.
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 minikube, compila y ejecuta tu app:
En la barra de estado del editor de Cloud Shell, haz clic en
Cloud Code .Selecciona Ejecutar en Kubernetes.
Si se te solicita, confirma que quieres usar el contexto actual de minikube.
El Editor de Cloud Shell compila tu app y la implementa en el clúster de minikube.
Mira el estado de la implementación en la vista
Sesiones de desarrollo .Cuando se complete la implementación, aparecerá una marca de verificación verde junto a URL de redirección de puertos. El ícono giratorio aparece junto a Transmitir registros de aplicaciones.
Para ver tu app, mira más abajo en el panel Sesiones de desarrollo y busca URL de redirección de puertos > service.
Mantén el puntero sobre
go-hello-world-external y haz clic en go-hello-world-external.
Edita tu app
Cuando cambias un archivo de origen en tu app, el Editor de Cloud Shell compila e implementa automáticamente tu app en el clúster al que estás conectado en ese momento. En este caso, se conectó a su clúster de minikube.
Para editar y volver a implementar la app en el clúster de minikube local, sigue estos pasos:
Modifica el archivo
para que muestre el mensaje “It's redeployed!”. El archivo se guardará automáticamente.main.go
Mira la vista
Sesiones de desarrollo mientras se vuelve a compilar e implementar tu app.Visualiza la app que se volvió a implementar como lo hiciste antes:
En el panel Sesiones de desarrollo, busca URL de redirección de puertos > service.
Mantén el puntero sobre
go-hello-world-external y haz clic en go-hello-world-external.
Consulta los registros de la app
En la barra de menú del Editor de Cloud Shell, selecciona Vista > Paleta de comandos.
Busca la opción Cloud Code: Ver registros y haz clic en ella.
Se abrirá el Visor de registros.
En
Deployment , seleccionago-hello-world
.Esto filtra el Visor de registros para mostrar solo los registros de la app de
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
Actualizar .
Implementa la app en un clúster de GKE
Agrega tu clúster de GKE a la lista de clústeres en los que puedes implementar:
En la vista
Kubernetes , haz clic en Agregar un clúster a KubeConfig.En el diálogo Choose a platform, haz clic en Google Kubernetes Engine.
Si se te solicita habilitar la API de Google Cloud, haz clic en Sí.
Espera a que el editor de Cloud Shell encuentre los clústeres en tu proyecto de Google Cloud.
En el cuadro de diálogo Crear o elegir un clúster de GKE, selecciona el nombre del clúster que creaste, hello-world-cluster.
En la barra de estado del editor de Cloud Shell, haz clic en
Cloud Code y selecciona Ejecutar en Kubernetes.Cuando se te solicite seleccionar un contexto para tu solicitud de implementación, elige Usar el contexto actual, que se establece como tu clúster de GKE.
En el diálogo Elige tu repositorio, selecciona gcr.io/PROJECT_NAME.
El Editor de Cloud Shell compila tu app en un contenedor y lo almacena en el repositorio que seleccionaste.
Mira la vista
Sesiones de desarrollo mientras se vuelve a compilar e implementar tu app.Para ver los mensajes de registro detallados a medida que se implementa tu app en GKE, haz clic en el nodo Implementar en clúster en la vista Sesiones de desarrollo.
Para ver la app en ejecución, haz lo siguiente:
Haz clic en el encabezado Sesiones de desarrollo para cerrar la vista.
Abre la vista
Kubernetes .Expande tu clúster de GKE.
Ve a Espacios de nombres > predeterminado > Services > go-hello-world-external > IP externas.
Mantén el puntero sobre la dirección IP y haz clic en
Abrir URL.
Creaste e implementaste correctamente una app de GKE desde un IDE.
¿Qué sigue?
Consulta muestras de código que muestran el uso de los productos de Google Cloud.
Instala Cloud Code en el IDE
Realiza una limpieza para evitar cargos de facturación Si planeas realizar instructivos adicionales, espera hasta terminarlos antes de realizar una limpieza. Puedes usar el clúster de Kubernetes de muestra en la mayoría de los instructivos de GKE.