Comienza a usar Cloud Code para VS Code para Kubernetes

Cloud Code te permite crear una aplicación de Kubernetes basada en una muestra o en un proyecto existente.

Crea una aplicación a partir de una plantilla

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

  1. Inicia la paleta de comandos (presiona Ctrl/Cmd+Shift+P o haz clic en Ver > Paleta de comandos) 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. Las opciones disponibles son NodeJS, Go, Python y Java.
  4. Elige la ubicación que desees para tu aplicación en tu máquina local y, luego, haz clic en Create new application para guardar.

    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: Es el mensaje que solicita la descarga de extensiones relacionadas cuando se abre este proyecto.
    • launch.json: Configuración de lanzamiento (del tipo cloudcode.kubernetes) para ejecutar o depurar la aplicación de Kubernetes
    • tasks.json: 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 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: 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

Para 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 configurando los parámetros disponibles.

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

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 tu 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 Kubernetes en Cloud Code.

Ejecutar la aplicación

Una vez que configures una aplicación, podrás ejecutarla en un clúster de Kubernetes y verla activa 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.

  1. Abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P) y, luego, ejecuta el comando Cloud Code: Run on Kubernetes.
  2. Confirma si deseas usar el contexto de Kubernetes actual para ejecutar la app (o cambiar a uno preferido). Para obtener más información sobre cómo configurar un contexto de Kubernetes, consulta cómo configurar la configuración.
  3. Si elegiste un clúster remoto como contexto, cuando se te solicite, elige un registro de imágenes para enviar las imágenes. Si tu proyecto tiene la API de Artifact Registry habilitada y al menos un repositorio de Artifact Registry, puedes navegar hasta un repositorio de Artifact Registry existente y seleccionarlo.

    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
    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/APP
    Azure Container Registry (ACR): ACR_NAME.azurecr.io/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.

Ver 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:

  1. En la sección Kubernetes, expande Implementaciones.
  2. Haz clic con el botón derecho en el pod del que deseas ver los registros y, luego, haz clic en Ver registros.

    Se abrirá el Visor de registros.

Realiza cambios, vuelve a compilar y limpia

Si configuraste el modo de observación en false en la configuración de lanzamiento y deseas realizar cambios en la aplicación y, luego, volver a compilar y a implementar la aplicación, haz lo siguiente:

  1. Realiza y guarda los cambios.

  2. En la barra de herramientas de depuración, haz clic en Pausar (F6) y, luego, en Reiniciar (Ctrl/Cmd + Shift + F5) para volver a compilar y volver a implementar la aplicación.

  3. Para detener la ejecución de 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 de Kubernetes implementados se borran del clúster. Puedes cambiar este comportamiento con 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 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). En la sección 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?

Obtener asistencia

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