Développer une application Kubernetes avec le développement à distance

Cette page explique comment utiliser le développement à distance Cloud Code pour VS Code, c'est-à-dire ouvrir votre codebase dans un conteneur distant où votre application est compilée, débogué et déployé. Vous créez ainsi une application portable, quelle que soit l'OS de votre ordinateur de développement.

Prérequis

En plus de la configuration décrite dans la section Installer l'extension Cloud Code, installez le pack d'extensions VS Code Développement à distance.

Prérequis

  1. Pour configurer un dossier .devcontainer avec un Dockerfile et un fichier Devcontainer.json configuré pour la langue que vous utilisez, cliquez sur Ouvrir une fenêtre à distance Ouvrir une fenêtre distante > Ajouter des fichiers de configuration de conteneur de développement. Vous pouvez également suivre la procédure décrite dans la section Développement à distance dans Containers.

    Une fois que vous aurez suivi les instructions, votre espace de travail comprendra les éléments suivants:

    • Dockerfile : définit une image de conteneur contenant les outils de développement à installer dans un conteneur de développement distant.

    • Devcontainer.json : indique à l'extension VS Code Remote Tools comment exécuter le conteneur de développement à distance.

  2. Ouvrez le fichier Dockerfile et ajoutez des instructions pour installer la Google Cloud CLI et Skaffold. Pour connaître les commandes à jour, consultez les guides d'installation.

  3. Dans le Dockerfile, ajoutez des instructions pour copier les configurations de la CLI gcloud et de Skaffold de localhost avant la commande >> $HOME/.bashrc. Vous pouvez également réécrire les commandes pour installer la CLI gcloud et 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. Ouvrez le fichier Devcontainer.json et ajoutez les arguments d'exécution suivants pour copier la CLI gcloud et les configurations Skaffold à partir de localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Une fois que vos fichiers contiennent le contenu requis, cliquez sur  Ouvrir une fenêtre distante.

Exemple de fichier devcontainer.json

Le fichier devcontainer.json indique à l'extension de conteneur distant les ports à exposer dans le conteneur, comment monter les disques et les extensions à installer dans le conteneur distant. L'exemple de fichier devcontainer.json suivant spécifie que l'extension de conteneur distant doit installer l'extension Cloud Code pour 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"
      ]

Étape suivante

Obtenir de l'aide

Pour envoyer vos commentaires, signalez tout problème sur GitHub ou posez une question sur Stack Overflow.