Men-deploy aplikasi contoh Butik Online

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

  1. Buat namespace untuk aplikasi:

    kubectl create namespace demo
    
  2. 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 revisi istiod, yang mengikuti awalan istio.io/rev=. Dalam contoh ini, nilainya adalah asm-1106-2.

  3. Terapkan label revisi ke namespace demo. Dalam perintah berikut, REVISION adalah nilai label revisi istiod 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 label istio-injection, yang akan Anda harapkan dalam penginstalan baru Anthos Service Mesh atau deployment baru. Karena injeksi otomatis gagal jika namespace memiliki istio-injection dan label revisi, semua perintah kubectl label dalam dokumentasi Anthos Service Mesh mencakup penghapusan label istio-injection.

Mesh layanan terkelola

  1. Buat namespace untuk aplikasi:

    kubectl create namespace demo
    
  2. Terapkan label revisi asm-managed-rapid ke namespace demo:

    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 label istio-injection, yang akan Anda harapkan dalam penginstalan baru Anthos Service Mesh atau deployment baru. Karena injeksi otomatis gagal jika namespace memiliki istio-injection dan label revisi, semua perintah kubectl label dalam dokumentasi Anthos Service Mesh mencakup penghapusan label istio-injection.

  3. Jika Anda juga men-deploy bidang data yang dikelola Google opsional, anotasikan demonamespace 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.

  1. Instal kpt jika Anda belum melakukannya:

    gcloud components install kpt
    
  2. Download contoh menggunakan kpt:

    kpt pkg get \
    https://github.com/GoogleCloudPlatform/microservices-demo.git/release \
    online-boutique
    
  3. Deploy sampel ke cluster:

    kubectl apply -n demo -f online-boutique
    
  4. Temukan alamat IP eksternal layanan frontend-external:

    kubectl get service frontend-external -n demo
    
  5. 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