Usa minikube para el desarrollo local en Cloud Code para VS Code

Cloud Code instala y administra Minikube automáticamente. Si inhabilitaste la administración de dependencias, agrega el objeto binario de minikube a tu PATH.

Antes de comenzar

  1. Instala Git para que Cloud Code pueda realizar operaciones de Git, como clonar una muestra.
  2. Si aún no lo hiciste, instala el complemento de Cloud Code.

Crea una aplicación a partir de una plantilla

Cloud Code incluye una colección de plantillas de muestra de código para que puedas comenzar con rapidez. Para crear una aplicación de Kubernetes mediante una muestra existente, sigue estos pasos:

  1. Inicia la paleta de comandos (presiona Ctrl/Cmd + Shift + P o haz clic en View > Command Palette) y, luego, ejecuta Cloud Code: New Application.
  2. Selecciona Kubernetes application como el tipo de muestra.
  3. Selecciona una muestra según el lenguaje que deseas usar entre las opciones disponibles: NodeJS, Go, Python y Java.
  4. Elige la ubicación que prefieras para la aplicación en tu máquina local y haz clic en Crear nueva aplicación para guardar los cambios.

    Cloud Code clona la muestra que elegiste y abre tu proyecto nuevo para su uso.

Estructura de la aplicación de ejemplo

Los ejemplos de aplicación tienen la casi la misma estructura en todos los lenguajes. Esta no es la única estructura que se admite, pero es la que se recomienda para comenzar.

Por ejemplo, la estructura de la aplicación del libro de visitas de Node.js tiene el siguiente aspecto:

.
|---- .vscode
|      └---- launch.json
|---- kubernetes-manifests
|     |---- guestbook-backend.deployment.yaml
|     |---- guestbook-backend.service.yaml
|     |---- guestbook-frontend.deployment.yaml
|     |---- guestbook-frontend.service.yaml
|     |---- mongo.deployment.yaml
|     └---- mongo.service.yaml
|---- src
|     |---- backend
|     |     |---- Dockerfile
|     |     |---- index.js
|     |     |---- app.js
|     |     └---- package.json
|     |---- frontend
|           |---- Dockerfile
|           |---- index.js
|     |     |---- app.js
|           └---- package.json
└---- skaffold.yaml

Examina en mayor detalle esta app de muestra de Node.js del libro de visitas de Kubernetes; estos son algunos archivos de claves y sus usos:

  • .vscode
    • extensions.json: Solicita la descarga de extensiones relacionadas cuando abres este proyecto.
    • launch.json: Configuración de inicio (de tipo cloudcode.kubernetes) para ejecutar o depurar la aplicación de Kubernetes
    • tasks.json: Información de configuración para las tareas de Visual Studio Code
  • kubernetes-manifests
    • guestbook-backend.deployment.yaml: Especificación del Pod para los nodos de backend
    • guestbook-frontend.deployment.yaml: Especificación del Pod para los nodos de frontend
    • mongo.deployment.yaml: Especificación del Pod para la base de datos
  • src
    • (backend|frontend)/app.js: El código de Node.js con la lógica del servidor web
    • (backend|frontend)/Dockerfile: Se usa a fin de compilar la imagen del contenedor para nuestro programa
  • skaffold.yaml: Es el archivo de configuración de Skaffold, que Cloud Code usa para compilar, implementar y depurar aplicaciones de Kubernetes.

Usa tu propia aplicación

Si quieres conocer los pasos para usar un proyecto existente, consulta Usa Cloud Code con una aplicación de Kubernetes existente.

Establece tu contexto de Kubernetes

Antes de ejecutar la aplicación, asegúrate de realizar la configuración a fin de implementar tu app en el contexto de Kubernetes que prefieras. Puedes especificar esto en tu configuración.

Configuración

Cuando usas la configuración de ejecución Cloud Code: Develop on Kubernetes, puedes personalizar tu implementación mediante la configuración disponible.

Para agregar o editar configuraciones, ve a Run > Open Configurations y, luego, edita o agrega configuraciones.

Crea e implementa en un clúster de Minikube

Inicia un clúster de Minikube

Cloud Code instala y administra Minikube automáticamente. Si inhabilitaste la administración de dependencias, agrega el objeto binario de minikube a tu PATH.

  1. Inicia la Paleta de comandos (presiona Ctrl/Cmd + Shift + P o haz clic en Ver > Paleta de comandos) y, luego, ejecuta el comando Cloud Code: Controla minikube.
  2. Haz clic en minikube para Elegir un clúster de Minikube (perfil) para controlar y, luego, en Start.

Cómo ejecutar en minikube

  1. Inicia la paleta de comandos y ejecuta Cloud Code: Run on Kubernetes (Cloud Code: Run on Kubernetes).
  2. Haz clic en en ¿Quieres usar el contexto actual (minikube) para ejecutar la app?
  3. Cloud Code ejecuta tu app en un clúster de minikube. Si se te solicita, autoriza a Cloud Shell a usar tus credenciales para realizar una llamada a la API de Google Cloud.

    Consulta los detalles de la implementación en la sección Development sessions (Sesiones de desarrollo) de Cloud Code.

  4. Para ver las URLs, haz clic en Portfoward URLs en la sección Development sessions y, luego, en el vínculo de la URL para abrir el navegador con la aplicación en ejecución.

Abre una terminal interactiva en un contenedor

  1. Haz clic en Cloud Code y, luego, expande el explorador Development Sessions.
  2. Expande Recursos implementados y, luego, Pods.
  3. Haz clic con el botón derecho en un contenedor y, luego, en Obtener terminal.

Pausa o detén un clúster de Minikube

  1. Inicia la Paleta de comandos (presiona Ctrl/Cmd + Shift + P o haz clic en Ver > Paleta de comandos) y, luego, ejecuta el comando Cloud Code: Controla minikube.
  2. Cuando se propague la opción Choose a Minikube cluster (profile) to control, haz clic en minikube y, luego, en Stop o Pause.

Crea y agrega un clúster desde otro proveedor de servicios en la nube

Si usas un clúster local o un clúster de otro proveedor, como Azure o AWS, usa las herramientas del proveedor para crear el clúster y agregarlo a tu KubeConfig.

Trabaja con otros clústeres locales

Además de minikube, puedes trabajar con Cloud Code si usas Docker Desktop (para Mac o Windows).

Para que Cloud Code funcione con un clúster local, asegúrate de que la configuración predeterminada (por ejemplo, ~/.kube/config) contenga el clúster local. Este clúster se debe configurar como el contexto actual.

Por ejemplo, si usabas un clúster local, docker-for-desktop, con Docker Desktop, configura tu clúster preferido con el siguiente comando:

kubectl config use-context docker-for-desktop

¿Qué sigue?

Obtener asistencia

Si deseas enviar comentarios, informa problemas en GitHub o haz preguntas en Stack Overflow.