Desarrolla una app de Kubernetes con el desarrollo remoto

En esta página, se explica cómo usar la función Remote Development de Cloud Code para VS Code, es decir, cómo abrir tu base de código en un contenedor remoto en el que se compila, depura y se implementa tu aplicación. Esto crea una aplicación portátil, independientemente del SO de tu máquina de desarrollo.

Requisitos previos

Además de la configuración que se describe en Instala la extensión de Cloud Code, instala el paquete de extensiones de VS Code Remote Development.

Configuración

  1. Para configurar una carpeta .devcontainer con un Dockerfile y un archivo de configuración Devcontainer.json configurados para el lenguaje que usas, haz clic en Cómo abrir una ventana remota Open a Remote Window > Add Dev Container Config Files. Como alternativa, puedes seguir los pasos que se indican en Desarrollo remoto en contenedores.

    Después de seguir las instrucciones, tu espacio de trabajo incluirá lo siguiente:

    • Dockerfile: Define una imagen de contenedor que contiene las herramientas para desarrolladores que se instalarán en un contenedor de desarrollo remoto.

    • Devcontainer.json: Indica a la extensión de VS Code Remote Tools cómo ejecutar el contenedor de desarrollo remoto.

  2. Abre el Dockerfile y agrega instrucciones para instalar Google Cloud CLI y Skaffold. Para obtener los comandos más actualizados, consulta las guías de instalación.

  3. En el Dockerfile, agrega instrucciones para copiar las configuraciones de gcloud CLI y de Skaffold de localhost antes del comando >> $HOME/.bashrc. Como alternativa, puedes volver a escribir los comandos para instalar gcloud CLI y Skaffold.

    # Copy localhost's ~/.kube/config file into the container and swap out localhost
    # for host.docker.internal whenever a new shell starts to keep them in sync.
    RUN echo '\n\
    if [ "$SYNC_LOCALHOST_KUBECONFIG" == "true" ]; then\n\
      mkdir -p $HOME/.kube\n\
      cp -r $HOME/.kube-localhost/* $HOME/.kube\n\
      sed -i -e "s/localhost/host.docker.internal/g" $HOME/.kube/config\n\
    \n\
    fi' \
    if [ "$SYNC_LOCALHOST_GCLOUD" == "true" ]; then\n\
     mkdir -p $HOME/.config/gcloud\n\
     cp -r $HOME/.gcloud-localhost/* $HOME/.config/gcloud\n\
    \n\
    fi' \
    
  4. Abre el archivo Devcontainer.json y agrega los siguientes argumentos de ejecución para copiar las configuraciones de la gcloud CLI y Skaffold desde localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Después de que tus archivos tengan el contenido requerido, haz clic en Abrir una ventana remota.

Archivo devcontainer.json de ejemplo

El archivo devcontainer.json le indica a la extensión Remote Container qué puertos exponer en el contenedor, cómo activar unidades y qué extensiones instalar en el contenedor remoto. El siguiente archivo devcontainer.json de ejemplo especifica que la extensión Remote Container debe instalar la extensión Cloud Code para VS Code:

   "runArgs": [
         "-v","/var/run/docker.sock:/var/run/docker.sock",
         "--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.kube,target=/root/.kube-localhost",
         "--mount", "type=bind,source=${env:HOME}${env:USERPROFILE}/.config/gcloud,target=/root/.gcloud-localhost",
         "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
         "-e", "SYNC_LOCALHOST_GCLOUD=true",
         "--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"
      ]

¿Qué sigue?

Obtener asistencia

Para enviar comentarios, haz una pregunta en Stack Overflow. Si eres cliente de Google Cloud, puedes enviar tickets a través de los canales de asistencia estándar de Google Cloud.