Comienza a usar Cloud Code para VS Code para Kubernetes

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:

  1. 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.
  2. Selecciona Kubernetes application como el tipo de muestra.
  3. Selecciona una muestra según el lenguaje que deseas usar entre las opciones disponibles: Node.js, Go, Python y Java.
  4. 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 tipo cloudcode.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 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: 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.

  1. 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).
  2. 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.
  3. 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:

  1. En la sección Kubernetes, expande Implementaciones.
  2. 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 en false en tu configuración de inicio y deseas realizar cambios en tu aplicación y, luego, volver a compilarla y, luego, implementarla:

  1. Realiza y guarda tus cambios.

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

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

Obtener asistencia

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