Mengembangkan aplikasi Kubernetes dengan pengembangan jarak jauh

Halaman ini menjelaskan cara menggunakan Cloud Code untuk Pengembangan Jarak Jauh VS Code, yaitu untuk membuka codebase di container jarak jauh tempat aplikasi Anda di-build, di-debug, dan di-deploy. Ini menciptakan aplikasi yang portabel, apa pun OS mesin pengembangan Anda.

Prasyarat

Selain penyiapan yang dijelaskan dalam Menginstal ekstensi Cloud Code, instal paket ekstensi Remote Development VS Code.

Penyiapan

  1. Untuk menyiapkan folder .devcontainer dengan file Dockerfile dan Devcontainer.json yang dikonfigurasi untuk bahasa yang Anda gunakan, klik Membuka jendela jarak jauh Open a Remote Window > Add Dev Container Config Files. Atau, Anda dapat mengikuti langkah-langkah di bagian Pengembangan jarak jauh di Container.

    Setelah mengikuti petunjuk, ruang kerja Anda akan menyertakan:

    • Dockerfile — menentukan image container yang menyimpan alat developer untuk diinstal dalam container pengembangan jarak jauh.

    • Devcontainer.json — Memberi petunjuk kepada ekstensi Alat Jarak Jauh VS Code tentang cara menjalankan penampung pengembangan jarak jauh.

  2. Buka Dockerfile dan tambahkan petunjuk untuk menginstal Google Cloud CLI dan Skaffold. Untuk perintah terbaru, lihat panduan penginstalan.

  3. Di Dockerfile, tambahkan petunjuk untuk menyalin konfigurasi gcloud CLI dan Skaffold localhost sebelum perintah >> $HOME/.bashrc. Atau, Anda dapat menulis ulang perintah untuk menginstal gcloud CLI dan 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. Buka file Devcontainer.json dan tambahkan argumen run berikut untuk menyalin konfigurasi gcloud CLI dan Skaffold dari localhost:

      "-e", "SYNC_LOCALHOST_KUBECONFIG=true",
      "-e", "SYNC_LOCALHOST_GCLOUD=true",
    
  5. Setelah file Anda memiliki konten yang diperlukan, klik Open a Remote Window.

Contoh file devcontainer.json

File devcontainer.json memberi tahu ekstensi Container Jarak Jauh port mana yang akan diekspos dalam container, cara memasang drive, dan ekstensi mana yang akan diinstal di container jarak jauh. Contoh file devcontainer.json berikut menentukan bahwa ekstensi Container Jarak Jauh harus menginstal ekstensi Cloud Code untuk 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"
      ]

Langkah selanjutnya

Dapatkan Dukungan

Untuk mengirim masukan, laporkan masalah di GitHub, atau ajukan pertanyaan di Stack Overflow.