Cloud Code te permite crear una aplicación de Kubernetes a partir de una muestra o de un proyecto existente.
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 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: Aplicación nueva. - Selecciona Kubernetes application como el tipo de muestra.
- Selecciona una muestra según el lenguaje que deseas usar entre las opciones disponibles: Node.js, Go, Python y Java.
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.
Ejemplo de estructura de la aplicación
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
: Inicia la configuración (del tipocloudcode.kubernetes
) para ejecutar o depurar la aplicación de Kubernetes.tasks.json
: Es la 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
: Es 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.
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 especificarlo en tu configuración.
Configuración
Cuando usas la configuración de ejecución Cloud Code: Desarrolla en Kubernetes, puedes personalizar la implementación mediante la configuración disponible.
Para agregar o editar configuraciones, ve a Run > Open Configurations y, luego, edita o agrega configuraciones.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 inicio 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 Kubernetes en Cloud Code.
Ejecuta tu aplicación
Una vez que hayas configurado una aplicación, puedes ejecutarla en un clúster de Kubernetes y
verla en vivo aprovechando
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: Run on Kubernetes (Cloud Code: Run on Kubernetes). - Confirma si quieres usar el contexto de Kubernetes actual para ejecutar la app (o cambia a uno que prefieras). Para obtener más información sobre cómo configurar un contexto de Kubernetes, consulta cómo establecer la configuración.
Si elegiste un clúster remoto como contexto, cuando se te solicite, elige un registro de imágenes para enviarlas. Si usas Container Registry, puedes navegar a un registro existente o especificar el nombre del registro que deseas crear. Si tu proyecto tiene habilitada la API de Artifact Registry y al menos un repositorio de Artifact Registry, puedes explorar y seleccionar un repositorio de Artifact Registry existente.
En los siguientes ejemplos, se muestra cómo especificar dónde se almacenan las imágenes de contenedor para 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 de forma correcta 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 los registros
Además de ver los registros de Pods en ejecución como una transmisión en vivo en el resultado de la terminal mientras desarrollas y ejecutas tu aplicación, puedes ver los registros de un Pod específico si navegas a la sección Kubernetes.
Para ver los registros de un pod específico, sigue estos pasos:
- En la sección Kubernetes, expande Implementaciones.
Haz clic derecho en el Pod del que deseas ver los registros y, luego, haz clic en Ver registros.
Se abrirá el Visor de registros.
Realizar cambios, volver a compilar y limpiar
Si estableciste el modo de supervisión enfalse
en tu configuración de inicio y deseas realizar cambios en tu aplicación y, luego, volver a compilarla y, luego, implementarla:
Realiza y guarda tus cambios.
En la Barra de herramientas de depuración, haz clic en Pause (
F6
) y, luego, en Restart (Ctrl/Cmd + Shift + F5
) para volver a compilar y a implementar la aplicación.Para detener la ejecución de la aplicación, en la barra de herramientas de depuración, haz clic en Stop.
Después de detener la aplicación, todos los recursos implementados de Kubernetes se borran del clúster. Puedes cambiar este comportamiento con la marca cleanUp
en tu configuración de inicio.
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 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 Secrets y mapas de configuración) y almacenamiento (como volúmenes). Mediante 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 sobre cómo ver 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 YAML de Cloud Code.