Comience a usar Cloud Code para VS Code para Kubernetes

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

Crear una aplicación a partir de una plantilla

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

  1. Inicie la Paleta de comandos (presione Ctrl / Cmd + Shift + P o haga clic en Ver > Paleta de comandos ) y luego ejecute Cloud Code: Nueva aplicación .
  2. Seleccione la aplicación Kubernetes para el tipo de muestra.
  3. Seleccione una muestra según el lenguaje que desee utilizar de las opciones disponibles: NodeJS, Go, Python, Java.
  4. Elija una ubicación de aplicación preferida en su máquina local y luego haga clic en Crear nueva aplicación para guardar.

    Cloud Code clona la muestra que elegiste y abre tu nuevo proyecto para su uso.

Estructura de aplicación de muestra

Todas las aplicaciones de ejemplo de lenguaje tienen prácticamente la misma estructura. Esta no es la única estructura compatible, pero se recomienda al comenzar.

Por ejemplo, la estructura de la aplicación Guestbook de Node.js se ve así:

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

Si analizamos más de cerca esta aplicación de muestra de Node.js de Kubernetes Guestbook, aquí se muestran algunos archivos clave y sus usos:

  • .vscode
    • extensions.json : mensaje que solicita la descarga de extensiones relacionadas al abrir este proyecto
    • launch.json : configuración de lanzamiento (de tipo cloudcode.kubernetes ) para ejecutar o depurar la aplicación Kubernetes
    • tasks.json : información de configuración para tareas de Visual Studio Code
  • manifiestos de kubernetes
    • guestbook-backend.deployment.yaml : Especificación del pod para los nodos backend
    • guestbook-frontend.deployment.yaml : Especificación del pod para los nodos frontend
    • mongo.deployment.yaml : Especificación de pod para la base de datos
  • origen
    • (backend|frontend)/app.js : Código Node.js con la lógica del servidor web
    • (backend|frontend)/Dockerfile : se utiliza para crear la imagen del contenedor para nuestro programa
  • skaffold.yaml : archivo de configuración para Skaffold , que Cloud Code utiliza para crear, implementar y depurar aplicaciones de Kubernetes

Utilice su propia aplicación

Para conocer los pasos para usar un proyecto existente, consulte usar Cloud Code con una aplicación Kubernetes existente .

Establezca su contexto de Kubernetes

Antes de ejecutar tu aplicación, asegúrate de que esté configurada para implementarla en tu contexto de Kubernetes preferido. Puedes especificarlo en tu configuración .

Configuración

Al utilizar la configuración de ejecución de Cloud Code: Develop on Kubernetes , puede personalizar su implementación configurando las opciones disponibles.

Para agregar o editar configuraciones, vaya a Ejecutar > Abrir configuraciones y luego edite o agregue configuraciones.

Configuración de compilación

Cloud Code admite los tipos de artefactos Docker, Jib y Buildpacks. Consulta la guía "Configuración de las preferencias de compilación de imágenes de contenedor" para saber cómo configurar tu compilador preferido y sus ajustes relevantes.

Personaliza tu configuración de lanzamiento

Para configurar cómo se ejecuta su aplicación, puede personalizar su archivo skaffold.yaml .

También puedes configurar tu lanzamiento editando la configuración de cloudcode.kubernetes en tu archivo .vscode/launch.json .

Para obtener más información sobre cómo personalizar su configuración de lanzamiento, consulte Kubernetes en Cloud Code .

Ejecute su aplicación

Una vez configurada una aplicación, puede ejecutarla en un clúster de Kubernetes y visualizarla en tiempo real con skaffold dev . Puede ejecutarla en un clúster local (como minikube o Docker Desktop), Google Kubernetes Engine o cualquier otro proveedor de la nube.

  1. Abra la paleta de comandos (presione Ctrl / Cmd + Shift + P ) y luego ejecute el comando Cloud Code: Ejecutar en Kubernetes .
  2. Confirme si desea usar el contexto actual de Kubernetes para ejecutar la aplicación (o cambiar a uno preferido). Para obtener más información sobre cómo configurar un contexto de Kubernetes, consulte la configuración .
  3. Si seleccionó un clúster remoto como contexto, cuando se le solicite, elija un registro de imágenes al que enviar las imágenes. Si su proyecto tiene habilitada la API de Registro de Artefactos y al menos un repositorio de Registro de Artefactos , puede buscar y seleccionar un repositorio de Registro de Artefactos existente.

    Los siguientes ejemplos demuestran cómo especificar dónde se almacenan las imágenes de contenedor para algunos registros comunes:

    Registro de artefactos REGION -docker.pkg.dev/ PROJECT_ID / REPO_NAME
    Centro de Docker docker.io/ ACCOUNT
    Asegúrate de estar correctamente autenticado si estás usando un repositorio privado de Docker Hub.
    Repositorio de contenedores de AWS (ECR) AWS_ACCOUNT_ID .dkr.ecr. REGION .amazonaws.com/ APP
    Registro de contenedores de Azure (ACR) ACR_NAME .azurecr.io/ APP

    Cloud Code concatena este registro de imágenes con el nombre de la imagen especificado en los manifiestos de Kubernetes para generar el nombre del repositorio de imágenes final.

    Para obtener más información, consulte la guía de manejo del registro de imágenes .

    Esta opción se almacena en la configuración de inicio de cloudcode.kubernetes (que se encuentra en .vscode/launch.json).

    Cloud Code crea sus contenedores, los envía al registro, aplica 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 la salida de la terminal mientras desarrolla y ejecuta su aplicación, puede ver los registros de un pod específico navegando a la sección de Kubernetes.

Para ver los registros de un pod específico, siga estos pasos:

  1. En la sección Kubernetes, expanda Implementaciones
  2. Haga clic con el botón derecho en el pod del cual desea ver registros y luego haga clic en Ver registros .

    Se abre el visor de registros .

Realizar cambios, reconstruir y limpiar

Si ha configurado el modo de vigilancia como false en su configuración de inicio y desea realizar cambios en su aplicación y luego reconstruirla y volver a implementarla:

  1. Realice y guarde sus cambios.

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

  3. Para detener la ejecución de la aplicación, en la barra de herramientas de depuración, haga clic en Detener .

Tras detener la aplicación, todos los recursos de Kubernetes implementados se eliminan del clúster. Puede cambiar este comportamiento mediante la opción " cleanUp " en la configuración de inicio.

Secretos de la tienda

Si su código incluye datos potencialmente sensibles, como claves API, contraseñas y certificados, se recomienda almacenarlos como secretos. Con Cloud Code, puede almacenarlos de forma segura en Secret Manager y recuperarlos programáticamente cuando los necesite.

Para obtener una descripción detallada sobre cómo crear y administrar secretos con Cloud Code, consulte la guía de Secret Manager .

Ver detalles del recurso

La sección Kubernetes muestra clústeres, espacios de nombres, nodos, cargas de trabajo (como implementaciones, conjuntos de réplicas, pods y contenedores), servicios e ingresos, configuraciones (como secretos y mapas de configuración) y almacenamiento (como volúmenes). Con la sección Kubernetes, puede realizar acciones únicas en algunos de estos recursos.

Consulte la descripción general de Kubernetes para obtener más información sobre cómo ver los detalles de los recursos.

¿Qué sigue?

Obtener soporte

Para enviar comentarios, informar problemas en GitHub o hacer una pregunta en Stack Overflow .