Bagikan melalui


Menggunakan Bridge ke Kubernetes dengan sampel

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.

Sampel ini menggambarkan bagaimana Bridge ke Kubernetes dapat digunakan untuk mengembangkan versi layanan mikro dari aplikasi TODO sederhana pada kluster Kubernetes apa pun. Sampel ini, menggunakan Visual Studio Code, telah diadaptasi dari kode yang disediakan oleh TodoMVC. Dalam contoh ini, kami menggunakan MiniKube untuk menghosting aplikasi, tetapi langkah-langkah ini harus berfungsi dengan kluster Kubernetes apa pun.

Sampel aplikasi TODO terdiri dari frontend dan backend yang menyediakan penyimpanan persisten. Sampel yang diperluas ini menambahkan komponen statistik dan memecah aplikasi menjadi sejumlah layanan mikro, khususnya:

  • Frontend memanggil database-api untuk bertahan dan memperbarui item TODO;
  • Layanan database-api bergantung pada database Mongo untuk mempertahankan item TODO;
  • Frontend menulis menambahkan, menyelesaikan, dan menghapus peristiwa ke antrean RabbitMQ;
  • Pekerja statistik menerima peristiwa dari antrean RabbitMQ dan memperbarui cache Redis;
  • API statistik memaparkan statistik yang di-cache agar frontend ditampilkan.

Secara keseluruhan, aplikasi TODO yang diperluas ini terdiri dari enam komponen yang saling terkait.

Prasyarat

  • Setiap kluster Kubernetes, atau manajer paket Chocolatey untuk menginstal MiniKube
  • Pada Windows 10, Hyper-V
  • Kubectl diinstal dan pada jalur di lingkungan baris perintah pilihan Anda
  • Ekstensi Visual Studio Code Bridge ke Kubernetes

Menginstal MiniKube

Anda dapat menggunakan penyedia Kubernetes apa pun dengan Bridge ke Kubernetes. Dalam artikel ini, kami menggunakan MiniKube. MiniKube adalah penyedia Kubernetes ringan yang memungkinkan Anda menghosting Kubernetes di komputer lokal Anda. Ikuti petunjuk penginstalan untuk menginstal MiniKube di Windows 10, Linux, atau macOS.

Untuk hasil terbaik tentang Windows 10, Anda harus menggunakan manajer Hyper-V VM dan membuat sakelar virtual.

Setelah diinstal, mulai MiniKube, tentukan untuk menggunakan Hyper-V, dan berikan nama sakelar virtual utama. Perintah ini harus dijalankan dari prompt perintah dengan hak istimewa Administrator.

minikube start --vm-driver hyperv --hyperv-virtual-switch "Primary Virtual Switch"

Menyebarkan aplikasi

Kloning repositori Bridge to Kubernetes dan buka jendela perintah dengan folder kerja saat ini ke todo-app.

Buat namespace layanan untuk sampel.

kubectl create namespace todo-app

Kemudian, terapkan manifes penyebaran:

kubectl apply -n todo-app -f deployment.yaml

Penyebaran sederhana ini memaparkan ujung depan menggunakan layanan jenis LoadBalancer. Tunggu hingga semua pod berjalan dan IP eksternal dari layanan frontend supaya tersedia.

Jika Anda menguji dengan MiniKube, Anda perlu menggunakan minikube tunnel untuk menyelesaikan IP eksternal.

kubectl get services -n todo-app

NAME          TYPE           CLUSTER-IP     EXTERNAL-IP      PORT(S)        AGE
frontend      LoadBalancer   10.0.49.177    127.0.0.1   80:30145/TCP   18h

Telusuri ke aplikasi menggunakan IP eksternal dan port lokal (nomor pertama di kolom PORT).

http://{external-ip}:{local-port}

Uji aplikasi yang sedang berjalan di browser. Saat Anda menambahkan, menyelesaikan, dan menghapus item tugas, perhatikan bahwa halaman statistik diperbarui dengan metrik yang diharapkan.

Men-debug layanan stats-api

Anda sekarang dapat menggunakan ekstensi Bridge ke Kubernetes untuk menunjukkan bagaimana lalu lintas dari kluster Kubernetes dapat dialihkan ke versi stats-api yang berjalan secara lokal.

cd stats-api/

Buka kode sumber untuk stats-api di Visual Studio Code.

code .

Setelah VISUAL Code diluncurkan, buka panel Kubernetes dari bilah sisi kiri Visual Studio Code, lalu pilih namespace layanan todo-app di kluster MiniKube Anda. Klik kanan node todo-app, dan pilih Gunakan Namespace Layanan.

Pilih Namespace layanan

Instal dependensi dengan menjalankan npm install di jendela terminal (CTRL + ~).

npm install

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

Buka Palet Perintah (CTRL+SHIFT+P atau Cmd+Shift+P pada Mac) dan ketik Bridge ke Kubernetes. Pilih opsi Bridge ke Kubernetes: Konfigurasikan.

Bridge ke Kubernetes: Konfigurasikan perintah

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.

Pilih layanan yang akan disambungkan

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

Masukkan nomor port

Pilih Jalankan Skrip: dev sebagai tugas peluncuran.

Pilih 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, mari kita gunakan nonisolated.

Pilih isolasi

Catatan

Visual Studio Code meminta Anda untuk mengizinkan EndpointManager menjalankan file host yang ditingkatkan dan ditingkatkan.

Profil penelusuran kesalahan Bridge ke Kubernetes telah berhasil dikonfigurasi.

Pilih ikon Debug di sebelah kiri dan pilih Jalankan Skrip: dev dengan Kubernetes. Klik tombol mulai di sebelah Run Script: dev dengan Kubernetes.

Pilih profil peluncuran debug

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.

Penelusuran kesalahan dengan Bridge ke Kubernetes

Navigasikan ke titik entri frontend aplikasi todo Anda. Untuk minikube, kita akan menggunakan 127.0.0.1. Untuk mengakses URL titik akhir lokal untuk aplikasi Anda, buka menu Kubernetes pada bilah status dan pilih entri titik akhir.

Buat permintaan ke stats-api dengan memilih link statistik.

Menjalankan situs web - 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.

Contoh ini hanyalah satu ilustrasi tentang cara menggunakan Bridge ke Kubernetes pada kluster non-AKS. Selanjutnya coba pada proyek Anda sendiri!

Penghapusan

Untuk membersihkan aset yang dihasilkan oleh sampel ini, jalankan:

kubectl delete namespace todo-app

Langkah berikutnya

Anda juga dapat menyebarkan aplikasi ke Azure Kubernetes Service (AKS) dengan Bridge ke Kubernetes. Lihat Menggunakan Bridge ke Kubernetes dengan AKS