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é. Cela crée une application portable, quel que soit le système d'exploitation 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.

Configuration

  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 les étapes décrites dans Développement à distance dans des conteneurs.

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

    • Dockerfile : définit une image de conteneur qui contient les outils de développement pour installer dans un conteneur de développement distant.

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

  2. Ouvrez le Dockerfile et ajoutez des instructions pour installer Google Cloud CLI et Skaffold Pour obtenir 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. Par ailleurs, vous pouvez réécrire les commandes pour installer la gcloud CLI 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 du conteneur distant les ports vers lesquels exposer dans le conteneur, comment installer des disques et quelles extensions installer dans le conteneur distant. L'exemple de fichier devcontainer.json suivant spécifie que l'extension de conteneur distant doit installer 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.