全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Kurangi latensi push menggunakan ASM remote control plane

更新时间:Jun 28, 2025

ASM mendukung penyebaran remote control plane. Anda dapat menyebarkan komponen control plane ke kluster non-Alibaba Cloud, memungkinkan proxy sidecar di dalam kluster untuk terhubung langsung ke remote control plane. Hal ini meningkatkan efisiensi push konfigurasi dan mengurangi latensi push. Topik ini menjelaskan cara menyebarkan remote control plane.

Latar Belakang

Ketika kluster data plane berada di dalam VPC Alibaba Cloud, beban kerja data plane dapat terhubung langsung ke ASM managed control plane melalui jaringan VPC Alibaba Cloud. Ini menghasilkan latensi jaringan yang rendah, push konfigurasi yang lancar, dan tidak memerlukan penggunaan kemampuan remote control plane.

Ketika kluster data plane berada di layanan cloud lain atau pusat data lokal, ia harus terhubung ke ASM control plane melalui Internet atau metode lainnya. Jika lingkungan jaringan tidak stabil atau bandwidth terbatas, kami menyarankan menggunakan ASM remote control plane untuk mengurangi latensi push.

Arsitektur keseluruhan dari remote control plane adalah sebagai berikut:

Jika semua pod di dalam kluster non-ACK terhubung langsung ke managed ASM control plane, jumlah koneksi jaringan dan penggunaan bandwidth antara managed control plane dan kluster non-ACK berkorelasi positif dengan jumlah pod. Jika terjadi perubahan konfigurasi atau layanan secara sering, masalah latensi push kemungkinan besar akan muncul.

Dengan menggunakan kemampuan ASM remote control plane, remote control plane mendorong konfigurasi ke proxy sidecar kluster. Hanya ada sejumlah kecil koneksi jaringan antara ASM control plane dan kluster non-ACK untuk push komponen control plane dan penemuan layanan. Hal ini mengurangi kebutuhan untuk lingkungan jaringan dengan latensi rendah dan bandwidth tinggi serta meningkatkan efisiensi push konfigurasi.

Catatan penggunaan ASM remote control plane

  • Setelah menggunakan ASM remote control plane, sumber daya Kubernetes terkait dengan ASM harus dibuat menggunakan kubeconfig dari ASM. Jika kubeconfig dari kluster remote digunakan, sumber daya tersebut mungkin tertimpa.

  • ASM menyediakan penemuan layanan global. Beban kerja yang dikelola oleh ASM managed control plane dapat mengakses layanan yang dikelola oleh remote control plane, dan secara default menggunakan komunikasi mTLS, mendukung gateway ASM timur-barat.

  • ASM remote control plane bertentangan dengan fitur Use the Kubernetes API of clusters on the data plane to access Istio resources. Sebelum mengaktifkan remote control plane, pastikan fitur ini dinonaktifkan.

Prasyarat

Langkah 1: Aktifkan kemampuan remote control plane

  1. Gunakan kubeconfig dari instance ASM dan jalankan perintah berikut untuk mengubah sumber daya ASMMeshconfig di dalam kluster.

    kubectl edit ASMMeshconfig
  2. Konfigurasikan .spec.externalIstiodConfigurations dalam konten berikut ke dalam ASMMeshconfig.

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: ASMMeshConfig
    metadata:
      name: default
    spec:
      ......
      externalIstiodConfigurations:
        ${cluster-2's ClusterID}:
          replicas: 2
          # Konfigurasi sumber daya juga didukung di sini, dan struktur bidang konfigurasi sumber daya sama dengan pod. Jika kosong, konfigurasi default yang disediakan oleh ASM digunakan.
    Catatan

    Setelah beralih ke remote control plane, ASM gateway di dalam kluster akan restart. Kami sarankan Anda mengevaluasi dampak sebelum melakukan operasi ini.

Langkah 2: Sebarkan aplikasi dan lakukan pengujian

  1. Sebarkan aplikasi sleep dan aplikasi httpbin ke cluster-2. Untuk informasi lebih lanjut, lihat Sebarkan Aplikasi httpbin.

  2. Gunakan kubeconfig dari cluster-2 dan jalankan perintah berikut:

    kubectl get pod

    Output yang Diharapkan:

    NAME                       READY   STATUS    RESTARTS   AGE
    httpbin-7df7fxxxxx-xxxxx   2/2     Running   0          3h15m
    sleep-6b7f9xxxxx-xxxxx     2/2     Running   0          3h15m

    Anda dapat melihat bahwa kedua pod telah diinjeksi dengan sidecar dan berada dalam status running.

  3. Jalankan perintah berikut untuk mengakses httpbin dari aplikasi sleep:

    kubectl exec deploy/sleep -it -- curl httpbin:8000/status/418

    Output yang Diharapkan:

        -=[ teapot ]=-
    
           _...._
         .'  _ _ `.
        | ."` ^ `". _,
        \_;`"---"`|//
          |       ;/
          \_     _/
            `"""`

Langkah 3: Instruksi akses timbal balik kluster

Secara default, beban kerja yang dikelola oleh managed control plane dapat mengakses layanan dari remote control plane, sedangkan layanan dari remote control plane tidak dapat mengakses layanan dari managed control plane.