Comienza a usar Cloud Code para VS Code de Kubernetes

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:

  1. 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.
  2. Selecciona Aplicación de Kubernetes para el tipo de muestra.
  3. 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.
  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 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 proyecto
    • launch.json: Inicia la configuración (del tipo cloudcode.kubernetes) para ejecutar o depurar la aplicación de Kubernetes
    • tasks.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 backend
    • guestbook-frontend.deployment.yaml: Especificación del Pod para el frontend nodes
    • 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 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.

  1. Abre la Paleta de comandos (presiona Ctrl/Cmd+Shift+P) y, luego, ejecuta el comando Cloud Code: Ejecutar en Kubernetes.
  2. 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.
  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 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:

  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, en Ver registros.

    Se abrirá el Visor de registros.

Realiza cambios, vuelve a compilar y limpia

Si fijaste el modo de supervisión en false en la configuración de inicio y quieres realizar cambios en tu aplicación y, luego, volver a compilarla y implementarla:

  1. Realiza y guarda los cambios.

  2. 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.

  3. 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?

Obtener asistencia

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