Cloud Code te permite crear una aplicación de Kubernetes basada en una o a partir de un proyecto existente.
Crea una aplicación a partir de una plantilla
Cloud Code incluye una colección de muestra de código plantillas para comenzar rápidamente. 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 de la opción disponible en función del idioma que te gustaría usar como Node.js, 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 muestra
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 abriendo este proyectolaunch.json
: Inicia la configuración (del tipocloudcode.kubernetes
) para ejecutar o depurar la aplicación de Kubernetestasks.json
: Información de configuración para 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 el frontend nodesmongo.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 se usa para compilar, implementar y depurar Kubernetes aplicaciones
Usa tu propia aplicación
Si quieres conocer los pasos para usar un proyecto existente, consulta Usar Cloud Code con una aplicación existente de Kubernetes
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 a través de 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.Parámetros de configuración de compilación
Cloud Code es compatible con los tipos de artefactos Docker, Jib y Buildpacks. Consulta la guía de configuración de las preferencias de compilación de la imagen del contenedor para obtener información sobre cómo establecer tu compilador preferido y su configuración relevante.
Personaliza la configuración de inicio
Para configurar cómo se ejecuta tu aplicación, puedes personalizar el archivo skaffold.yaml
.
También puedes configurar el lanzamiento editando la configuración de cloudcode.kubernetes
en el archivo .vscode/launch.json
.
Para obtener más información sobre cómo personalizar la configuración de inicio, consulta el Kubernetes en Cloud Code.
Ejecuta tu aplicación
Una vez que hayas configurado una aplicación, podrás ejecutarla en un clúster de Kubernetes y verla en vivo si aprovechas skaffold dev
.
Puedes ejecutar tu aplicación en un clúster local (como Minikube o Docker Desktop), Google Kubernetes Engine o cualquier otro proveedor de servicios en la nube.
- Abre la Paleta de comandos (presiona
Ctrl
/Cmd
+Shift
+P
) y, luego, ejecuta el comando Cloud Code: Ejecutar en Kubernetes. - Confirma si quieres usar Contexto de Kubernetes para ejecutar la app (o cambiar a una preferida). Para obtener más información configurar un contexto de Kubernetes, consulta establecer la configuración.
Si elegiste un clúster remoto como contexto, cuando se te solicite, elige un registro de imágenes para enviar las imágenes. Si usas Container Registry, puedes navegar a un registro existente o especificar el nombre de un registro para crearlo. Si tu proyecto tiene la API de Artifact Registry habilitada y al menos un repositorio de Artifact Registry, puedes navegar a un repositorio de Artifact Registry existente y seleccionarlo.
En los siguientes ejemplos, se muestra cómo especificar la ubicación de las imágenes de contenedor almacenados en algunos registros comunes:
Artifact Registry {region}-docker.pkg.dev/{project_id}/{repo-name} Container Registry gcr.io/{project_id} Docker Hub docker.io/{account}
Asegúrate de estar autenticado correctamente si usas un repositorio privado de Docker Hub.AWS Container Repository (ECR): {aws_account_id}.dkr.ecr.{region}.amazonaws.com/{my-app} Azure Container Registry (ACR): {my_acr_name}.azurecr.io/{my-app} Cloud Code concatena este registro de imágenes con el nombre de imagen especificado en los manifiestos de Kubernetes para generar el nombre final del repositorio de imágenes.
Para obtener más información, consulta la guía de control del registro de imágenes.
Esta opción se almacena en tu configuración de inicio de
cloudcode.kubernetes
(que se encuentra en .vscode/lanzamiento.json).A continuación, Cloud Code compila los contenedores, los envía al registro, aplica las configuraciones de Kubernetes al clúster y espera el lanzamiento.
Visualiza registros
Además de ver los registros de los pods en ejecución como una transmisión en vivo en el resultado de la terminal mientras desarrollas y ejecutas la aplicación, puedes ver los registros de un pod específico si navegas a la sección de Kubernetes.
Para ver los registros de un pod específico, sigue estos pasos:
- En la sección Kubernetes, expande Implementaciones.
Haz clic con el botón derecho en el pod del que deseas ver los registros y, luego, en Ver registros.
Se abrirá el Visor de registros.
Realiza cambios, vuelve a compilar y limpia
Si fijaste el modo de supervisión enfalse
en la configuración de inicio y quieres
realizar cambios en tu aplicación y, luego, volver a compilarla y implementarla:
Realiza y guarda los cambios.
En la barra de herramientas de depuración, haz clic en Pause (
F6
) y, luego, en Reinicia (Ctrl/Cmd + Shift + F5
) para volver a compilar y a implementar el y mantener la integridad de su aplicación.Para dejar de ejecutar la aplicación, haz clic en Detener en la barra de herramientas de depuración.
Después de detener la aplicación, todos los recursos implementados de Kubernetes
del clúster. Puedes cambiar este comportamiento mediante la marca cleanUp
en la configuración de lanzamiento.
Almacena secretos
Si el código incluye datos potencialmente sensibles, como claves de API, contraseñas y certificados, se recomienda almacenarlos como secretos. Con Cloud Code, puedes almacenar estos secretos de forma segura en Secret Manager y recuperarlos de manera programática cuando los necesites.
Para obtener información detallada sobre cómo crear y administrar secretos con Cloud Code, consulta la guía de Secret Manager.
Ver detalles del recurso
En la sección de Kubernetes, se muestran clústeres, espacios de nombres, nodos, cargas de trabajo (como implementaciones, conjuntos de réplicas, pods y contenedores), servicios y entradas, configuraciones (como secretos y mapas de configuración) y almacenamiento (como volúmenes). Con la sección de Kubernetes, puedes realizar acciones únicas en algunos de estos recursos.
Consulta la Descripción general de Kubernetes para obtener más información información sobre la visualización de los detalles de los recursos.
¿Qué sigue?
- Explora tus opciones de compilación con paquetes de compilación, Jib o Docker.
- Usa la sincronización de archivos y la recarga en caliente para acelerar el desarrollo.
- Obtén más información sobre la asistencia de edición de YAML de Cloud Code.