Ejecuta una aplicación de Kubernetes

Cloud Code te permite ejecutar con facilidad tu aplicación en un clúster de Kubernetes y verla en vivo mediante el uso de 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.

Para optimizar el bucle de desarrollo mediante la obtención rápida de cambios en los archivos de tipos compatibles sin tener que realizar una recompilación de imagen, puedes habilitar la sincronización de archivos y la recarga en caliente.

Ejecuta tu aplicación

  1. Abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P) y, luego, ejecuta el comando Cloud Code: Run on Kubernetes.
  2. Confirma si quieres usar el contexto de Kubernetes actual para ejecutar la app (o cambia al que prefieras). Para obtener más información sobre cómo configurar un contexto de Kubernetes, consulta Establece la configuración.
  3. Si tu contexto de Kubernetes es un clúster remoto, se te solicitará que proporciones un registro de imágenes para enviar las imágenes.

    A continuación, se incluyen ejemplos de cómo especificar dónde se almacenan las imágenes de contenedor para algunos registros comunes:

    Docker Hub docker.io/{account}
    Asegúrate de que estás autenticado de forma adecuada si usas un repositorio privado de Docker Hub.
    Container Registry gcr.io/{project_id}

    Cloud Code concatena este registro de imágenes con el nombre de la 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 la configuración de lanzamiento cloudcode.kubernetes (se encuentra en .vscode/launch.json).

    Cloud Code compila tus contenedores, los envía al registro, aplica la configuración de Kubernetes al clúster y espera el lanzamiento.

    Una vez que se complete el lanzamiento, Cloud Code reenviará de forma automática todos los puertos del contenedor declarados a tu máquina y mostrará las URL en la ventana de salida para que puedas explorar la aplicación activa.

    Redirecciona los puertos y muestra las URL en la ventana de resultados

  4. Una vez que se completa la sesión, hay opciones adicionales del menú contextual disponibles para supervisar la aplicación y los recursos mediante la barra de estado de Cloud Code, que incluye lo siguiente:

    • Abrir registros de implementaciones: abre los registros de aplicaciones de una implementación específica con el visor de registros de Cloud Code.
    • Abrir URL del servicio: Abre la URL del servicio de la aplicación de un servicio específico en un navegador web.
    • Activar o desactivar el modo de reproducción: Activa o desactiva el modo de reproducción para la sesión actual. De forma predeterminada, Cloud Code observa de forma continua el sistema de archivos en busca de cambios en los archivos, como la configuración o el código de Kubernetes, vuelve a compilar los contenedores y vuelve a implementar la aplicación en el clúster para que tu { Los cambios se reflejan casi en tiempo real.

      Opciones disponibles con la barra de estado de Cloud Code: Abrir registros de implementación, Abrir URL de servicio y Activar modo de supervisión, además de las acciones habituales de Cloud Code

  5. Para detener la ejecución de la aplicación, haz clic en iconcono de parada de depuración Stop en la barra de herramientas de depuración.

    Después de detener la aplicación, todos los recursos implementados de Kubernetes se borran del clúster. Puedes cambiar este comportamiento mediante la marca cleanUp en la configuración de lanzamiento.

Elige un compilador y un entorno de compilación

En un proyecto que no contiene un archivo skaffold.yaml en la raíz o no hace referencia al archivo skaffold.yaml en su archivo .vscode/launch.json, puedes usar la IU de Cloud Code para elegir una compilador y entorno de compilación. La compilación local es gratuita, ya que usa tus propios recursos. Compilar con Cloud Build es adecuado para máquinas más lentas o que no coinciden con la arquitectura del procesador del clúster de destino. Para obtener información sobre el costo de compilar la aplicación mediante Cloud Build, consulta los precios de Cloud Build.

Si usas una de las muestras, para usar la IU, borra el archivo skaffold.yaml antes de ejecutar una acción de compilación. Si quieres conocer los pasos para elegir un compilador y un entorno de compilación sin la IU, consulta Cómo crear una configuración de Skaffold de forma manual.

  1. En un proyecto sin un archivo skaffold.yaml, abre la paleta de comandos (presiona Ctrl/Cmd+Shift+P) y, luego, ejecuta Cloud Code Ejecuta en Kubernetes o Cloud Code: Depura en Kubernetes.

  2. Elige un entorno de compilación.

    Si eliges Cloud Build, especifica el registro de imágenes.

  3. Especifica un compilador (Docker o Buildpack) para cada imagen y su configuración.

  4. Marca o desmarca cualquiera de las opciones de configuración y, luego, haz clic en Debug o Run.

Las opciones que elijas se guardan en un archivo skaffold.yaml que puedes editar directamente para una mayor personalización.

Personaliza la configuración de inicio

Para configurar cómo se ejecuta la aplicación, puedes personalizar el archivo skaffold.yaml.

También puedes configurar el lanzamiento si especificas los siguientes campos en la configuración de cloudcode.kubernetes del archivo .vscode/launch.json:

  • skaffoldConfig: Especifica el archivo de configuración de Skaffold que contiene la configuración de compilación y de implementación.
  • profile: Especifica tu perfil de Skaffold preferido. Si no está definido, se usa el perfil predeterminado.
  • imageRegistry: Especifica el registro de imágenes al que se enviarán las imágenes.
  • watch: Especifica si deseas observar cambios en el lugar de trabajo y volver a ejecutar la aplicación. A menos que se establezca en falso de forma explícita, el valor predeterminado es verdadero.
  • cleanUp: Especifica si se borrarán los recursos de Kubernetes implementados en el clúster después de que finalice la aplicación. A menos que se establezca en falso de forma explícita, el valor predeterminado es verdadero.
  • portForward: Especifica si debes reenviar puertos para los recursos de Kubernetes expuestos en el clúster a tu máquina local. A menos que se establezca en falso de forma explícita, el valor predeterminado es verdadero.