Cloud Code instala y administra minikube automáticamente. Si inhabilitaste la administración de dependencias, agrega el binario de minikube a tu PATH
.
Antes de comenzar
- Instala Git para que Cloud Code pueda realizar operaciones de Git, como clonar una muestra.
- Instala el complemento de Cloud Code si aún no lo hiciste.
Crea una aplicación a partir de una plantilla
Cloud Code incluye una colección de plantillas de ejemplos de código para que puedas comenzar con rapidez. Para crear una aplicación de Kubernetes con una muestra existente, sigue estos pasos:
- Inicia la paleta de comandos (presiona
Ctrl
/Cmd
+Shift
+P
o haz clic en Ver > Paleta de comandos) y, luego, ejecuta Cloud Code: Nueva aplicación. - Selecciona Aplicación de Kubernetes para el tipo de muestra.
- Selecciona una muestra según el lenguaje que deseas usar. Las opciones disponibles son NodeJS, Go, Python y Java.
Elige la ubicación que desees para tu aplicación en tu máquina local y, luego, haz clic en Create new application para guardarla.
Cloud Code clona la muestra que elegiste y abre tu proyecto nuevo para usarlo.
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
: Mensaje que solicita la descarga de extensiones relacionadas cuando se abre este proyectolaunch.json
: configuración de lanzamiento (del tipocloudcode.kubernetes
) para ejecutar o depurar la aplicación de Kubernetestasks.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 backendguestbook-frontend.deployment.yaml
: Especificación del pod para los nodos de frontendmongo.deployment.yaml
: Especificación del pod para la base de datos
- src
(backend|frontend)/app.js
: 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 deseas conocer los pasos para usar un proyecto existente, consulta Cómo usar Cloud Code con una aplicación de Kubernetes existente.
Configura 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 parámetros de configuración, ve a Run > Open Configurations y, luego, edita o agrega parámetros de configuración.Crea e implementa una aplicación 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 binario de minikube a tu PATH
.
- 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: Control minikube. - Haz clic en minikube para elegir un clúster (perfil) de Minikube para controlar y, luego, haz clic en Iniciar.
Ejecuta en minikube
- Inicia la paleta de comandos y ejecuta Cloud Code: Ejecutar en Kubernetes.
- Haz clic en Sí para ¿Quieres usar el contexto actual (minikube) para ejecutar la app?
Cloud Code ejecuta tu app en un clúster de minikube. Si se te solicita, autoriza a Cloud Shell para que use tus credenciales y realice una llamada a la API deGoogle Cloud .
Consulta los detalles de la implementación en la sección Sesiones de desarrollo de Cloud Code.
Para ver las URLs, haz clic en Redireccionar URLs en la sección Sesiones de desarrollo y, luego, haz clic en el vínculo de la URL para abrir tu navegador con la aplicación en ejecución.
Abre una terminal interactiva en un contenedor
- Haz clic en
Cloud Code y, luego, expande el explorador de Sesiones de desarrollo.
- Expande Recursos implementados y, luego, Pods.
- Haz clic con el botón derecho en un contenedor y, luego, en Get Terminal.
Pausa o detén un clúster de Minikube
- 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: Control minikube. - Después de que se propague la opción Elige un clúster (perfil) de Minikube para controlar, haz clic en minikube y, luego, en Detener o Pausar.
Crea y agrega un clúster desde otro proveedor de servicios en la nube
Si usas un clúster local o uno de otro proveedor, como Azure o AWS, usa las herramientas del proveedor para crear el clúster y agregarlo a tu KubeConfig.
Cómo trabajar 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 debe configurarse 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?
- Usa la sincronización de archivos y la recarga en caliente para acelerar el desarrollo.
- Cómo depurar tu aplicación en Cloud Code