Bagikan melalui


Menggunakan Bridge to Kubernetes dengan AKS

Catatan

Microsoft berencana untuk tidak lagi secara aktif mempertahankan proyek Bridge to Kubernetes. Selama beberapa bulan ke depan, kami akan mentransisikan proyek ke status arsip. Sementara itu, proyek masih tersedia untuk digunakan dan diunduh. Selama periode ini, kami berharap dapat menjelajahi dan merekomendasikan proyek komunitas yang memberikan manfaat serupa dengan Bridge ke Kubernetes untuk digunakan di masa mendatang. Jika Anda memiliki pertanyaan, silakan hubungi kami di papan masalah kami di GitHub.

Dalam tutorial ini, Anda menggunakan aplikasi web layanan mikro sampel AKS tertentu untuk mempelajari cara menggunakan Bridge ke Kubernetes untuk men-debug secara lokal dalam satu pod yang merupakan bagian dari kluster Azure Kubernetes Service (AKS).

Sebelum Anda mulai

Panduan ini menggunakan aplikasi sampel Aplikasi Todo untuk menunjukkan menghubungkan komputer pengembangan Anda ke kluster Kubernetes yang berjalan di AKS. Jika Anda sudah memiliki aplikasi sendiri yang berjalan pada kluster Kubernetes, lihat Mengembangkan dengan Kubernetes. Jika Anda menggunakan kluster lain, seperti MiniKube yang berjalan secara lokal, lihat Menggunakan Bridge to Kubernetes dengan sampel.

Prasyarat

Buatlah kluster Kubernetes

Buat kluster AKS di wilayah yang didukung. Perintah berikut membuat grup sumber daya yang disebut MyResourceGroup dan kluster AKS yang disebut MyAKS.

az group create \
    --name MyResourceGroup \
        --location eastus
az aks create \
    --resource-group MyResourceGroup \
    --name MyAKS \
    --location eastus \
    --node-count 3 \
    --generate-ssh-keys

Menginstal aplikasi sampel

Mengunduh kode dan menginstal dependensi

git clone https://github.com/hsubramanianaks/b2k-samples
cd b2k-samples/todo-app
npm install stats-api\

Menyambungkan ke kluster Anda dan menyebarkan aplikasi

Pada komputer pengembangan, unduh dan konfigurasikan Kubernetes CLI untuk terhubung ke kluster Kubernetes menggunakan az aks get-credentials.

az aks get-credentials --resource-group MyResourceGroup --name MyAKS
kubectl create namespace todo-app
kubectl config set-context --current --namespace=todo-app
kubectl apply -f deployment.yaml --namespace todo-app

Mencoba aplikasi

Pada terminal yang sama dengan yang Anda gunakan sebelumnya, jalankan perintah berikut dan salin IP untuk layanan front end di bawah kolom IP Eksternal.

kubectl get services

Untuk mencoba aplikasi, buka url: {your external IP from above command goes here}.nip.io

Debug layanan stats-api

Pada terminal yang sama dengan yang Anda gunakan sebelumnya, ketik perintah berikut untuk membuka stats-api di VS Code.

code ./stats-api

Pertama, tempatkan titik henti pada baris 17 dari server.js.

Kemudian, pastikan todo-app namespace dalam MyAKS kluster diatur sebagai default (jika memiliki * di sampingnya). Jika tidak diatur sebagai default, klik kanan simpul todo-app , dan pilih Gunakan Namespace.

Cuplikan layar memperlihatkan Bridge ke Namespace Layanan Kubernetes.

Selanjutnya, konfigurasikan bridge: buka Command Palette (CTRL+SHIFT+P atau Cmd+Shift+P pada Mac) dan ketik Bridge ke Kubernetes. Pilih opsi Bridge ke Kubernetes: Konfigurasikan.

Cuplikan layar memperlihatkan jendela perintah Bridge to Kubernetes Configure.

Anda diminta untuk mengonfigurasi layanan yang ingin Anda ganti, port untuk meneruskan dari komputer pengembangan Anda, dan tugas peluncuran yang akan digunakan.

Pilih layanan stats-api.

Cuplikan layar memperlihatkan pilih layanan untuk disambungkan ke jendela.

Penting

Anda hanya dapat mengalihkan layanan yang memiliki satu pod.

Setelah memilih layanan, Anda diminta untuk memasukkan port TCP untuk aplikasi lokal Anda. Untuk contoh ini, masukkan 3001.

Cuplikan layar memperlihatkan jendela masukkan nomor port.

Pilih Jalankan Skrip: dev sebagai tugas peluncuran.

Cuplikan layar memperlihatkan pilih jendela tugas peluncuran debugger.

Anda memiliki opsi untuk menjalankan secara terisolasi atau tidak terisolasi. Jika Anda menjalankan secara terisolasi, hanya permintaan Anda yang dirutekan ke proses lokal; pengembang lain dapat menggunakan kluster tanpa terpengaruh. Jika Anda tidak menjalankan secara terisolasi, semua lalu lintas dialihkan ke proses lokal Anda. Untuk informasi selengkapnya tentang opsi ini, lihat Menggunakan kemampuan perutean untuk mengembangkan secara terisolasi. Untuk contoh ini, kami melanjutkan dengan non-terisolasi. Jika Anda memilih isolasi, task.json memiliki awalan yang harus Anda gunakan untuk merutekan permintaan ke komputer Anda.

Cuplikan layar memperlihatkan jendela opsi pilih isolasi.

Catatan

Pada peluncuran berikutnya, Anda hanya akan mengklik ikon debug tanpa melalui pengaturan ini dan dimintai nama layanan, port, tugas peluncuran, atau apakah akan berjalan terisolasi. Nilai-nilai ini disimpan di .vscode/tasks.json. Untuk mengubah pengaturan ini nanti, buka Palet Perintah (CTRL+SHIFT+P atau Cmd+Shift+P di Mac), dan jalankan perintah Bridge ke Kubernetes: Konfigurasikan.

Profil penelusuran kesalahan Bridge ke Kubernetes telah berhasil dikonfigurasi.

Untuk memulai penelusuran kesalahan, pilih ikon Debug di sebelah kiri dan pilih Jalankan Skrip: dev dengan Kubernetes. Klik tombol mulai di sebelah Run Script: dev dengan Kubernetes.

Cuplikan layar memperlihatkan pilih jendela pilih profil peluncuran debug.

Catatan

Anda akan diminta untuk mengizinkan EndpointManager menjalankan file yang ditingkatkan dan memodifikasi host.

Komputer pengembangan Anda terhubung ketika bilah status Visual Studio Code berubah menjadi oranye dan ekstensi Kubernetes menunjukkan bahwa Anda terhubung. Setelah komputer pengembangan Anda tersambung, lalu lintas mulai mengalihkan ke komputer pengembangan Anda untuk stats-api yang Anda ganti.

Cuplikan layar yang menunjukkan pilih penelusuran kesalahan dengan jendela Bridge to Kubernetes.

Navigasikan ke titik masuk frontend aplikasi Anda melalui IP eksternal yang Anda temukan sebelumnya, {your external IP from get services command}.nip.io. Perhatikan bahwa jika Anda memilih mode isolasi, Anda perlu menggunakan {your prefix - can be found in task.json}.{your external IP from get services command}.nip.io.

Buat permintaan ke stats-api dengan memilih link statistik.

Cuplikan layar memperlihatkan pilih situs web yang sedang berjalan - pilih tautan status.

Perhatikan lalu lintas yang awalnya dimulai di kluster Anda dialihkan ke versi yang berjalan secara lokal (di luar kluster) tempat titik henti dipicu.

Tekan putar dan biarkan permintaan terus selesai secara transparan.

Penghapusan

Saat Anda menghentikan debugger, semua perubahan pada kluster dikembalikan. Perhatikan, jika Anda menjalankan dengan isolasi pada, pod manajer perutean akan ditinggalkan di sana untuk mempercepat awal debugger di lain waktu.

Anda dapat membiarkan kluster AKS Anda aktif untuk penelusuran kesalahan di masa mendatang atau Anda dapat menghapusnya dengan perintah berikut.

az aks delete --name MyAKS --resource-group MyResourceGroup

Langkah berikutnya

Pelajari selengkapnya tentang Bridge to Kubernetes di Cara kerja Bridge to Kubernetes.