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

Cette page explique comment utiliser Cloud Code pour VS Code Développement à distance autrement dit, pour ouvrir votre codebase dans un conteneur distant dans lequel votre application compilé, 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 Installez l'extension Cloud Code. installez Développement à distance Pack d'extensions VS Code.

Configuration

  1. Configurer un dossier .devcontainer avec un Dockerfile et Devcontainer.json configuré pour la langue utilisée, cliquez sur Ouvrir une fenêtre distante Ouvrir une fenêtre distante > Ajoutez des fichiers de configuration du 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 invites, 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 noms gcloud CLI et les configurations Skaffold avant >> $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 : Copiez la gcloud CLI et les configurations Skaffold à partir de localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Une fois que vos fichiers disposent du contenu requis, cliquez sur Ouvrez 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 Remote Container 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.