Desarrolla una app de Kubernetes con desarrollo remoto

En esta página, se explica cómo usar Cloud Code para VS Code Desarrollo remoto, es decir, para abrir tu base de código en un contenedor remoto en el que se encuentre compilar, depurar e implementar. Esto crea una aplicación que es portátil, sin importar el SO de tu máquina de desarrollo.

Requisitos previos

Además de la configuración descrita en Instala la extensión de Cloud Code. instala el Desarrollo remoto paquete de extensiones de VS Code.

Configuración

  1. Para configurar una carpeta .devcontainer con un Dockerfile y Devcontainer.json configurado en el idioma que estés usando, haz clic Abrir una ventana remota Abrir una ventana remota > Agrega archivos de configuración del contenedor de desarrollo. Como alternativa, puedes seguir los pasos que se Desarrollo remoto en contenedores.

    Después de seguir las indicaciones, tu lugar de trabajo incluirá lo siguiente:

    • Dockerfile: define una imagen de contenedor que contiene las herramientas para desarrolladores para instalar en un contenedor de desarrollo remoto.

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

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

  3. En el Dockerfile, agrega instrucciones para copiar los datos Configuración de gcloud CLI y Skaffold antes de >> $HOME/.bashrc kubectl. Por otro lado, 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 al Copia la configuración de gcloud CLI y Skaffold desde localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Cuando los archivos tengan el contenido requerido, haz clic en Abre una ventana remota.

Ejemplo de archivo devcontainer.json

El archivo devcontainer.json le indica a la extensión del contenedor remoto qué puertos debe en el contenedor, cómo activar las unidades y qué extensiones instalar en el contenedor remoto. El siguiente archivo devcontainer.json de muestra especifica que la extensión del contenedor remoto debe instalar el Extensión de 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, informa problemas en GitHub o haz preguntas en Stack Overflow.