Cloud Code instala y gestiona automáticamente minikube. Si has inhabilitado la gestión de dependencias, añade el archivo binario de minikube a tu PATH
.
Antes de empezar
- Instala Git para que Cloud Code pueda realizar operaciones de Git, como clonar un ejemplo.
- Instala el complemento Cloud Code si aún no lo has hecho.
Crear una aplicación a partir de una plantilla
Cloud Code incluye una colección de plantillas de ejemplos de código para que puedas empezar rápidamente. Para crear una aplicación de Kubernetes con un ejemplo, sigue estos pasos:
- Abre la paleta de comandos (pulsa
Ctrl
/Cmd
+Shift
+P
o haz clic en Ver > Paleta de comandos) y, a continuación, ejecuta Cloud Code: New Application (Cloud Code: Nueva aplicación). - Selecciona Aplicación de Kubernetes como tipo de ejemplo.
- Selecciona un ejemplo en función del lenguaje que quieras usar entre las opciones disponibles: NodeJS, Go, Python o Java.
Elige la ubicación que prefieras para la aplicación en tu equipo local y, a continuación, haz clic en Crear aplicación para guardar los cambios.
Cloud Code clona el ejemplo que has elegido y abre el nuevo proyecto para que lo uses.
Estructura de aplicación de ejemplo
Todas las aplicaciones de ejemplo de idiomas tienen prácticamente la misma estructura. Esta no es la única estructura admitida, pero es la que recomendamos al empezar.
Por ejemplo, la estructura de la aplicación Guestbook de Node.js es la siguiente:
.
|---- .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
Si analizamos más de cerca esta aplicación de ejemplo de Node.js de libro de visitas de Kubernetes, estos son algunos archivos clave y sus usos:
- .vscode
extensions.json
: petición para descargar extensiones relacionadas al abrir este proyectolaunch.json
: configuración de inicio (de tipocloudcode.kubernetes
) para ejecutar o depurar la aplicación de Kubernetestasks.json
: información de configuración de las tareas de Visual Studio Code
- kubernetes-manifests
guestbook-backend.deployment.yaml
: especificación de pod para los nodos de backend.guestbook-frontend.deployment.yaml
: especificación de pod para los nodos de frontendmongo.deployment.yaml
: especificación de pod de 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 para crear la imagen del contenedor de nuestro programa.
skaffold.yaml
: archivo de configuración de Skaffold, que Cloud Code usa para compilar, desplegar y depurar aplicaciones de Kubernetes
Usar tu propia aplicación
Para ver los pasos que debes seguir para usar un proyecto, consulta Usar Cloud Code con una aplicación de Kubernetes.
Definir el contexto de Kubernetes
Antes de ejecutar tu aplicación, asegúrate de que está configurada para desplegarla en el contexto de Kubernetes que prefieras. Puedes especificarlo en tu configuración.
Configuración
Cuando usas la configuración de ejecución Cloud Code: Develop on Kubernetes (Cloud Code: desarrollar en Kubernetes), puedes personalizar tu implementación configurando los ajustes disponibles.
Para añadir o editar configuraciones, ve a Ejecutar > Abrir configuraciones y, a continuación, edita o añade configuraciones.Crear y desplegar en un clúster de minikube
Iniciar un clúster de minikube
Cloud Code instala y gestiona automáticamente minikube. Si has inhabilitado la gestión de dependencias, añade el archivo binario de minikube a tu PATH
.
- Abre la paleta de comandos (pulsa
Ctrl
/Cmd
+Shift
+P
o haz clic en Ver > Paleta de comandos) y, a continuación, ejecuta el comando Cloud Code: Control minikube (Cloud Code: Controlar minikube). - Haz clic en minikube para Elegir un clúster (perfil) de Minikube que controlar y, a continuación, en Iniciar.
Ejecutar en minikube
- Abre la paleta de comandos y ejecuta Cloud Code: Run on Kubernetes (Cloud Code: Ejecutar en Kubernetes).
- Haz clic en Sí en ¿Quieres usar el contexto actual (minikube) para ejecutar la aplicación?
Cloud Code ejecuta tu aplicación en tu clúster de minikube. Si se te solicita, autoriza a Cloud Shell para que use tus credenciales y haga 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 Portforward URLs (URLs de reenvío de puertos) en la sección Development sessions (Sesiones de desarrollo) y, a continuación, haz clic en el enlace de la URL para abrir el navegador con la aplicación en ejecución.
Abrir un terminal interactivo en un contenedor
- Haz clic en
Cloud Code y, a continuación, despliega el explorador Sesiones de desarrollo.
- Despliega Recursos desplegados y, a continuación, Pods.
- Haz clic con el botón derecho en un contenedor y, a continuación, en Obtener terminal.
Pausar o detener un clúster de minikube
- Abre la paleta de comandos (pulsa
Ctrl
/Cmd
+Shift
+P
o haz clic en Ver > Paleta de comandos) y, a continuación, ejecuta el comando Cloud Code: Control minikube (Cloud Code: Controlar minikube). - Una vez que se haya rellenado la opción Elige un clúster de Minikube (perfil) para controlarlo, haz clic en minikube y, a continuación, en Detener o Pausar.
Crear y añadir un clúster de otro proveedor de servicios en la nube
Si utilizas 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 añadirlo a tu archivo KubeConfig.
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 tu configuración predeterminada (por ejemplo, ~/.kube/config
) contenga tu clúster local. Este clúster debe definirse como el contexto actual.
Por ejemplo, si usas un clúster local, docker-for-desktop
, con Docker Desktop, define el clúster que prefieras ejecutando el siguiente comando:
kubectl config use-context docker-for-desktop
Siguientes pasos
- Usa la sincronización de archivos y la recarga en caliente para acelerar el desarrollo.
- Depurar una aplicación en Cloud Code