All Products
Search
Document Center

Alibaba Cloud Service Mesh:Menghubungkan ke registri layanan Consul

Last Updated:Jun 21, 2026

Service Mesh ASM mendukung integrasi dengan registri layanan Consul untuk membantu migrasi layanan mikro ke ASM. Topik ini menjelaskan cara mengintegrasikan registri layanan Consul dengan ASM.

Prasyarat

  • Instans ASM Anda harus menjalankan versi v1.7.5.31-g28ec7490-aliyun atau yang lebih baru.

  • Consul telah diterapkan sebagai registri layanan. Untuk informasi selengkapnya, lihat Installing Consul on Kubernetes.

  • Pod di kluster Kubernetes yang ditambahkan ke Service Mesh harus dapat mengakses titik akhir server Consul. Misalnya, server Consul diinstal di kluster Kubernetes yang sama dan mengekspos titik akhir publik, atau menyediakan titik akhir internal yang dapat diakses.

  • Layanan contoh, termasuk Web, Web2, dan layanan Consul bawaan, harus terdaftar di Consul. Untuk informasi selengkapnya, lihat Services.

Latar Belakang

ASM menyediakan fitur untuk menghubungkan ke registri layanan Consul, yang memfasilitasi migrasi layanan mikro ke ASM dengan memungkinkan layanan di dalam Service Mesh memanggil layanan di luar Service Mesh. ASM tidak secara otomatis mendaftarkan layanan dari dalam Service Mesh ke registri layanan Consul. Untuk memungkinkan layanan di luar Service Mesh memanggil layanan di dalam service mesh, Anda harus mendaftarkan secara manual layanan dari dalam Service Mesh ke registri layanan Consul.

Langkah 1: Dapatkan konfigurasi ASM-se-syncer

  1. Dapatkan ID instans ASM.

    1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Pada halaman Mesh Management, temukan ID instans target Anda di kolom Name/ID.

  2. Dapatkan ID wilayah kluster.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Cluster Information.

    3. Pada bagian Basic Information, lihat wilayah kluster tersebut. Misalnya, jika wilayahnya adalah Tiongkok (Beijing), ID wilayahnya adalah cn-beijing. Untuk informasi selengkapnya tentang wilayah, lihat Wilayah yang didukung.

  3. Dapatkan ID AccessKey dan Rahasia AccessKey. Untuk informasi selengkapnya, lihat Buat pasangan AccessKey.

Langkah 2: Instal ASM-se-syncer

  1. Hubungkan ke kluster Anda menggunakan kubectl. Untuk informasi selengkapnya, lihat Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menghubungkan ke kluster.

  2. Instal Helm di mesin lokal Anda. Untuk informasi selengkapnya, lihat dokumentasi Helm.

    Catatan

    Setelah Anda terhubung ke kluster dengan kubectl, klien Helm secara otomatis menggunakan file KubeConfig untuk terhubung ke kluster.

  3. Unduh dan ekstrak chart Helm asm-se-syncer ke mesin lokal Anda.

  4. Masuk ke folder asm-se-syncer dan temukan file values.yaml. Pada file values.yaml, tambahkan ID ASM, ID wilayah kluster, ID AccessKey, dan Rahasia AccessKey, ubah informasi layanan Consul berikut, lalu simpan file values.yaml.

    [
      {
        "name": "consul-test",
        "prefix": "consul-",
        "type": "consul",
        "endpoint": "http://consul-server.consul:8500",
        "toNamespace": "default"
      }
    ]

    Parameter

    Deskripsi

    name

    Nama unik untuk registri layanan.

    prefix

    Awalan untuk nama sumber daya service entry yang dihasilkan.

    type

    Jenis registri layanan. Satu-satunya nilai yang didukung adalah consul.

    endpoint

    Alamat titik akhir registri layanan.

    toNamespace

    Namespace tempat sumber daya service entry yang dihasilkan dibuat. Jika namespace belum ada, namespace tersebut akan dibuat secara otomatis.

    Untuk menghubungkan ke beberapa registri layanan Consul, tambahkan konfigurasi untuk setiap registri ke file values.yaml. Lalu, simpan file values.yaml.

    [
      {
        "name": "consul-test01",
        "prefix": "consul01-",
        "type": "consul",
        "endpoint": "http://consul-server01.consul:8500",
        "toNamespace": "default"
      },
      {
        "name": "consul-test02",
        "prefix": "consul02-",
        "type": "consul",
        "endpoint": "http://consul-server02.consul:8500",
        "toNamespace": "default"
      }
    ]
  5. Jalankan perintah berikut untuk menginstal ASM-se-syncer.

    helm install -f values.yaml se-syncer ./

    Setelah ASM-se-syncer diinstal, ASM secara otomatis terhubung ke registri layanan Consul, menginstal komponen asm-serviceregistry-syncer di kluster ACK, dan menyinkronkan layanan dari Consul ke Service Mesh.

Langkah 3: Verifikasi integrasi Consul

  1. Periksa status instalasi komponen ASM.

    1. Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Workloads > Deployments.

    3. Pada halaman Deployments, temukan komponen bernama asm-serviceregistry-syncer.

      Jika komponen berada dalam status siap 1/1, berarti komponen tersebut berjalan dengan benar.

  2. Periksa status sinkronisasi sumber daya service entry.

    1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Cluster & Workload Management > External Service(ServiceEntry).

    3. Pada halaman External Service(ServiceEntry), verifikasi bahwa layanan yang terdaftar di Consul telah disinkronkan ke Service Mesh.

      Catatan
      • Pada halaman External Service(ServiceEntry), nama layanan Consul mengikuti format: [prefix]-[nama layanan di Consul]. Awalan tersebut adalah nilai yang ditentukan untuk parameter prefix.

      • Pada halaman External Service(ServiceEntry), namespace layanan Consul adalah nilai parameter toNamespace yang Anda tentukan.

FAQ

Bagaimana cara memanggil layanan yang telah disinkronkan?

Setelah kluster layanan pemanggil menjadi bagian dari bidang data service mesh, Anda dapat memanggil layanan yang telah disinkronkan dengan salah satu cara berikut:

  • Metode 1: Aktifkan proxy DNS dan panggil layanan menggunakan hostname dan port dari bidang hosts pada service entry.

    1. Aktifkan proxy DNS. Untuk informasi selengkapnya, lihat Gunakan fitur proxy DNS di instans ASM.

    2. Dapatkan hostname dan port untuk memanggil layanan.

      1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

      2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Cluster & Workload Management > External Service(ServiceEntry).

      3. Pada halaman External Service(ServiceEntry), temukan service entry target dan klik View YAML di kolom Operator.

        Pada kotak dialog Edit, dapatkan hostname dan port, lalu gunakan http://<hostname>:<port> untuk memanggil layanan. Pada file YAML ServiceEntry, item konfigurasi utama hosts diatur ke pro-qf-test, dan nomor port (number) diatur ke 80.

        - apiVersion: istio.alibabacloud.com,
              controller: true
              kind: ASMServiceRegistry
              name: default
              uid: 5d301b4e-39bc-46b5-xxx
              resourceVersion: '432158678'
              selfLink: >-
                /apis/networking.istio.io/v1beta1/naxxx
              uid: e446b651-be82-4e13-99xxx
          spec:
            addresses:
              - 172.30.xxx
            endpoints:
              - address: 172.xxx
                ports:
                  http: 80
            hosts:
              - pro-qf-test
            ports:
              - name: http
                number: 80
                protocol: HTTP
            resolution: STATIC
  • Metode 2: Panggil layanan menggunakan alamat dari bidang endpoints pada External Service(ServiceEntry).

    1. Masuk ke Konsol ASM. Di panel navigasi kiri, pilih Service Mesh > Mesh Management.

    2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi kiri, pilih Cluster & Workload Management > External Service(ServiceEntry).

    3. Pada halaman External Service(ServiceEntry), temukan service entry target dan klik View YAML di kolom Operator.

      Pada kotak dialog Edit, temukan alamat tersebut. Panggil layanan menggunakan format http://<address>. Pada YAML, item konfigurasi utamanya adalah bidang address di bawah spec.endpoints.

      - apiVersion: istio.alibacloud.com
            controller: true
            kind: ASMServiceRegistry
            name: default
            uid: 5d301b4e-39bc-46b5-xxx
            resourceVersion: '432158678'
            selfLink: >-
              /apis/networking.istio.io/v1beta1/naxxx
            uid: e446b651-be82-4e13-99xxx
        spec:
          addresses:
            - 172.30.xxx
          endpoints:
            - address: 172.xxx
              ports:
                http: 80
          hosts:
            - pro-qf-test
          ports:
            - name: http
              number: 80
              protocol: HTTP
          resolution: STATIC

Bagaimana cara kerja sinkronisasi layanan?

Layanan yang terdaftar di Consul secara otomatis disinkronkan ke Istio sebagai sumber daya service entry. Ketika suatu layanan dihapus atau diperbarui di Consul, perubahan tersebut secara otomatis disinkronkan ke service entry yang sesuai di Istio.

Bagaimana cara menonaktifkan integrasi Consul?

Jalankan perintah berikut untuk menghapus sumber daya sinkronisasi Consul.

helm uninstall se-syncer