Realiza implementaciones y actualizaciones desde un IDE


Si desarrollas aplicaciones para que se ejecuten en Google Kubernetes Engine, puedes usar un IDE y el complemento de Cloud Code para simplificar las tareas clave de desarrollo, como las pruebas y la depuración locales, y las implementaciones en una prueba clúster.

Objetivos

Aprende a realizar las siguientes tareas de desarrollo en el editor de Cloud Shell, un IDE de demostración en línea:

  1. Crear una app de ejemplo de Kubernetes

  2. Ejecuta, actualiza y visualiza los registros de la app en tu entorno de desarrollo.

  3. 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:

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. Es posible que los usuarios nuevos de Google Cloud califiquen para obtener una prueba gratuita.

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.

  1. Ve a la página Clústeres de GKE.

    Ir a los clústeres

  2. Elige un proyecto que contenga un clúster de GKE.

  3. Toma nota del nombre del proyecto y el clúster.

    Necesitarás esta información más adelante.

Crea una app en el editor de Cloud Shell

  1. En la consola de Google Cloud, haz clic en Cloud Shell en la barra de tareas para abrir Cloud Shell.

  2. Haz clic en Abrir editor.

  3. Espera a que se inicialice el Editor de Cloud Shell.

  4. En el Editor de Cloud Shell, haz clic en Ver > Paleta de comandos.

  5. Busca la opción Cloud Code: Aplicación nueva y haz clic en ella.

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

  7. 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, main.go, que muestra una respuesta de plantilla “It's running!” para todas las solicitudes recibidas.

  • 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:

  1. En el Editor de Cloud Shell, haz clic en Terminal > Nueva terminal.

  2. Inicia un clúster mediante la ejecución del 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.

  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 minikube, compila y ejecuta tu app:

  1. En la barra de estado del editor de Cloud Shell, haz clic en Cloud Code.

  2. Selecciona Ejecutar en Kubernetes.

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

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

  5. Para ver tu app, mira más abajo en el panel Sesiones de desarrollo y busca URL de redirección de puertos > service.

  6. Mantén el puntero sobre go-hello-world-external y haz clic en Abrir URL.

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:

  1. Modifica el archivo main.go para que muestre el mensaje “It's redeployed!”. El archivo se guardará automáticamente.

  2. Mira la vista Sesiones de desarrollo mientras se vuelve a compilar e implementar tu app.

  3. Visualiza la app que se volvió a implementar como lo hiciste antes:

    1. En el panel Sesiones de desarrollo, busca URL de redirección de puertos > service.

    2. Mantén el puntero sobre go-hello-world-external y haz clic en Abrir URL.

Consulta los registros de la app

  1. En la barra de menú del Editor de Cloud Shell, selecciona Vista > Paleta de comandos.

  2. Busca la opción Cloud Code: Ver registros y haz clic en ella.

    Se abrirá el Visor de registros.

  3. En Deployment, selecciona go-hello-world.

    Esto filtra el Visor de registros para mostrar solo los registros de la app de go-hello-world.

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

  5. Para ver los registros generados recientemente en el Visor de registros, haz clic en Actualizar.

Implementa la app en un clúster de GKE

  1. Agrega tu clúster de GKE a la lista de clústeres en los que puedes implementar:

    1. En la vista Kubernetes, haz clic en Agregar un clúster a KubeConfig.

    2. En el diálogo Choose a platform, haz clic en Google Kubernetes Engine.

    3. Si se te solicita habilitar la API de Google Cloud, haz clic en .

    4. Espera a que el editor de Cloud Shell encuentre los clústeres en tu proyecto de Google Cloud.

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

  2. En la barra de estado del editor de Cloud Shell, haz clic en Cloud Code y selecciona Ejecutar en Kubernetes.

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

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

  5. Mira la vista Sesiones de desarrollo mientras se vuelve a compilar e implementar tu app.

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

  7. Para ver la app en ejecución, haz lo siguiente:

    1. Haz clic en el encabezado Sesiones de desarrollo para cerrar la vista.

    2. Abre la vista Kubernetes.

    3. Expande tu clúster de GKE.

    4. Ve a Espacios de nombres > predeterminado > Services > go-hello-world-external > IP externas.

    5. 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?