Panduan ini menjelaskan cara menginstal aplikasi contoh Online Boutique untuk mendemonstrasikan Anthos Service Mesh. Jika Anda belum menginstal Anthos Service Mesh, lihat bagian Panduan penginstalan untuk memilih panduan yang tepat bagi Anda.
Mengaktifkan injeksi otomatis file bantuan
Guna mengaktifkan injeksi file bantuan otomatis (injeksi otomatis) untuk aplikasi contoh, Anda harus menambahkan label revisi ke namespace sampel. Label yang ditambahkan bergantung pada apakah Anda men-deploy Anthos Service Mesh terkelola atau menginstal bidang kontrol dalam cluster. Label revisi digunakan oleh webhook injektor sidecar untuk mengaitkan file bantuan yang dimasukkan dengan revisi bidang kontrol tertentu.
Dalam cluster
Buat namespace untuk aplikasi:
kubectl create namespace demo
Gunakan perintah berikut untuk menemukan label di
istiod
:kubectl -n istio-system get pods -l app=istiod --show-labels
Outputnya terlihat mirip dengan yang berikut ini:
NAME READY STATUS RESTARTS AGE LABELS istiod-asm-1106-2-5788d57586-bljj4 1/1 Running 0 23h app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586 istiod-asm-1106-2-5788d57586-vsklm 1/1 Running 1 23h app=istiod,istio.io/rev=asm-1106-2,istio=istiod,pod-template-hash=5788d57586
Pada output, di kolom
LABELS
, catat nilai label revisiistiod
, yang mengikuti awalanistio.io/rev=
. Dalam contoh ini, nilainya adalahasm-1106-2
.Terapkan label revisi ke namespace
demo
. Dalam perintah berikut, REVISION adalah nilai label revisiistiod
yang Anda catat di langkah sebelumnya.kubectl label namespace demo istio-injection- istio.io/rev=REVISION --overwrite
Anda dapat mengabaikan pesan
"istio-injection not found"
di output. Artinya, namespace sebelumnya tidak memiliki labelistio-injection
, yang akan Anda harapkan dalam penginstalan baru Anthos Service Mesh atau deployment baru. Karena injeksi otomatis gagal jika namespace memilikiistio-injection
dan label revisi, semua perintahkubectl label
dalam dokumentasi Anthos Service Mesh mencakup penghapusan labelistio-injection
.
Mesh layanan terkelola
Buat namespace untuk aplikasi:
kubectl create namespace demo
Terapkan label revisi
asm-managed-rapid
ke namespacedemo
:kubectl label namespace demo istio-injection- istio.io/rev=asm-managed-rapid --overwrite
Label ini sesuai dengan saluran rilis Anthos Service Mesh terkelola saat ini untuk versi Anthos Service Mesh.
Anda dapat mengabaikan pesan
"istio-injection not found"
di output. Artinya, namespace sebelumnya tidak memiliki labelistio-injection
, yang akan Anda harapkan dalam penginstalan baru Anthos Service Mesh atau deployment baru. Karena injeksi otomatis gagal jika namespace memilikiistio-injection
dan label revisi, semua perintahkubectl label
dalam dokumentasi Anthos Service Mesh mencakup penghapusan labelistio-injection
.Jika Anda juga men-deploy bidang data yang dikelola Google opsional, anotasikan
demo
namespace sebagai berikut:kubectl annotate --overwrite namespace YOUR_NAMESPACE \ mesh.cloud.google.com/proxy='{"managed":"true"}'
Mendownload dan men-deploy contoh
Setelah injeksi otomatis diaktifkan di namespace demo
, saat Anda men-deploy layanan aplikasi BookInfo, proxy file bantuan dimasukkan bersama setiap layanan.
Instal
kpt
jika Anda belum melakukannya:gcloud components install kpt
Download contoh menggunakan
kpt
:kpt pkg get \ https://github.com/GoogleCloudPlatform/microservices-demo.git/release \ online-boutique
Deploy sampel ke cluster:
kubectl apply -n demo -f online-boutique
Temukan alamat IP eksternal layanan
frontend-external
:kubectl get service frontend-external -n demo
Buka aplikasi pada browser Anda untuk mengonfirmasi penginstalan:
http://EXTERNAL_IP/
Untuk GKE, Anda dapat menjelajahi fitur kemampuan observasi Anthos Service Mesh di Google Cloud Console. Perhatikan bahwa perlu waktu hingga 10 menit agar grafik topologi menampilkan layanan di mesh Anda.
Setelah selesai menjelajah, hapus contoh Butik Online:
kubectl delete namespaces demo