全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Konfigurasi Pemantulan

更新时间:Jul 02, 2025

Anda dapat menggunakan Service Mesh (ASM) untuk mengirim salinan lalu lintas yang ditujukan ke layanan ke layanan yang dipantulkan. Topik ini menjelaskan cara mengonfigurasi pemantulan.

Prasyarat

Persiapan telah selesai, dan layanan helloworld serta sleep telah diterapkan. Untuk informasi lebih lanjut, lihat Persiapan.

Prosedur

  1. Periksa apakah konfigurasi layanan berlaku.

    1. Gunakan kubectl untuk terhubung ke Container Service for Kubernetes (ACK) cluster berdasarkan informasi dalam file kubeconfig, lalu jalankan perintah berikut untuk mengaktifkan bash untuk layanan sleep:

      kubectl exec -it deploy/sleep -- sh
    2. Jalankan perintah berikut untuk mengirim permintaan ke layanan helloworld:

      curl helloworld:5000/hello

      Output yang diharapkan:

      Hello version: v2, instance: helloworld-v2-6b96c5684-4****
      Hello version: v1, instance: helloworld-v1-6d77f4c4cf-p****

      Output yang diharapkan adalah bahwa helloworld-v1 atau helloworld-v2 secara acak merespons permintaan.

  2. Konfigurasikan aturan lalu lintas untuk layanan helloworld, konfigurasikan helloworld-v1 untuk menerima dan merespons permintaan, serta memantulkan permintaan ke helloworld-v2.

    1. Gunakan konten berikut untuk mengonfigurasi aturan tujuan. Untuk informasi lebih lanjut, lihat Kelola aturan tujuan.

      apiVersion: networking.istio.io/v1beta1
      kind: DestinationRule
      metadata:
        name: helloworld
        namespace: default
      spec:
        host: helloworld
        subsets:
          - labels:
              version: v1
            name: v1
          - labels:
              version: v2
            name: v2
      
    2. Gunakan konten berikut untuk membuat layanan virtual. Untuk informasi lebih lanjut, lihat Kelola layanan virtual.

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: helloworld-vs
        namespace: default
      spec:
        hosts:
          - helloworld
        http:
          - mirror:
              host: helloworld
              subset: v2
            route:
              - destination:
                  host: helloworld
                  subset: v1
  3. Periksa apakah konfigurasi berlaku.

    1. Gunakan kubectl untuk terhubung ke cluster ACK berdasarkan informasi dalam file kubeconfig, lalu jalankan perintah berikut untuk mengaktifkan bash untuk layanan sleep:

      kubectl exec -it deploy/sleep -- sh
    2. Jalankan perintah berikut untuk mengirim permintaan ke layanan helloworld:

      curl helloworld:5000/hello

      Output yang diharapkan selalu bahwa helloworld-v1 merespons permintaan.

      Hello version: v1, instance: helloworld-v1-6d77f4c4cf-p****
    3. Lihat topologi layanan. Untuk informasi lebih lanjut, lihat Gunakan Mesh Topology untuk melihat topologi aplikasi.

      Output yang diharapkan: Permintaan disalin ke helloworld-v2.

      查看应用网格拓扑.png