All Products
Search
Document Center

Alibaba Cloud Service Mesh:Terhubung ke Consul

Last Updated:Jul 06, 2025

Service Mesh (ASM) mendukung koneksi ke satu atau lebih registrasi layanan Consul untuk membantu Anda memigrasikan layanan mikro ke ASM. Topik ini menjelaskan cara menghubungkan instance ASM ke satu atau lebih registrasi layanan Consul.

Prasyarat

  • Versi instance ASM Anda adalah v1.7.5.31-g28ec7490-aliyun atau yang lebih baru.

  • Satu atau lebih registrasi layanan Consul telah diterapkan. Untuk informasi lebih lanjut, lihat Menginstal Consul pada Kubernetes.

  • Sebuah kluster Container Service for Kubernetes (ACK) telah ditambahkan ke instance ASM Anda, dan pod dari kluster ACK dapat mengakses server Consul. Sebagai contoh, server Consul diinstal di kluster ACK yang sama dengan pod, atau server Consul menyediakan titik akhir publik atau internal yang dapat diakses. Dalam kasus-kasus ini, pod dapat mengakses server Consul.

  • Layanan sampel termasuk Web dan Web2 serta layanan bawaan Consul telah didaftarkan dalam registrasi layanan Consul. Untuk informasi lebih lanjut tentang cara mendaftarkan layanan di Consul, lihat Layanan.

Informasi latar belakang

Setelah menghubungkan instance ASM ke registrasi layanan Consul, layanan di dalam instance ASM dapat memanggil layanan di luar instance ASM saat Anda memigrasikan layanan mikro ke instance ASM. Namun, layanan di dalam instance ASM tidak secara otomatis didaftarkan dalam registrasi layanan Consul setelah instance ASM terhubung ke registrasi layanan Consul. Untuk memastikan bahwa layanan di luar instance ASM dapat memanggil layanan di dalam instance ASM, Anda harus secara manual mendaftarkan layanan di dalam instance ASM dalam registrasi layanan Consul.

Langkah 1: Memperoleh informasi yang diperlukan untuk mengonfigurasi ASM-se-syncer

  1. Lihat ID instance ASM yang ingin Anda hubungkan ke registrasi layanan Consul.

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

    2. Di halaman Mesh Management, lihat ID instance ASM yang ingin Anda kelola di kolom Name/ID.

  2. Lihat ID wilayah kluster yang ditambahkan ke instance ASM.

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

    2. Di halaman Clusters, temukan kluster yang Anda inginkan dan klik namanya. Di panel di sebelah kiri, klik Cluster Information.

    3. Di halaman Kluster, lihat wilayah kluster yang ditambahkan ke instance ASM di kolom Region. Sebagai contoh, jika wilayah kluster adalah China (Beijing), ID wilayah kluster adalah cn-beijing. Untuk informasi lebih lanjut tentang wilayah, lihat Wilayah yang Didukung.

  3. Lihat ID AccessKey dan Rahasia AccessKey akun Anda. Untuk informasi lebih lanjut, lihat Buat Pasangan AccessKey.

Langkah 2: Instal ASM-se-syncer

  1. Gunakan kubectl untuk terhubung ke kluster ACK. Untuk informasi lebih lanjut, lihat Dapatkan File kubeconfig Kluster dan Gunakan kubectl untuk Terhubung ke Kluster.

  2. Instal Helm di komputer Anda. Untuk informasi lebih lanjut, lihat Helm.

    Catatan

    Setelah menggunakan kubectl untuk terhubung ke kluster ACK, klien Helm secara otomatis menggunakan file kubeconfig untuk terhubung ke kluster.

  3. Unduh dan ekstrak file asm-se-syncer ke komputer Anda.

  4. Buka file values.yaml di folder asm-se-syncer, tambahkan ID instance ASM yang diperoleh, ID wilayah kluster, ID AccessKey, dan Rahasia AccessKey ke file values.yaml, tentukan parameter yang dijelaskan dalam tabel berikut, dan simpan file values.yaml.

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

    Parameter

    Deskripsi

    name

    Nama registrasi layanan. Nama tersebut harus unik.

    prefix

    Awalan untuk nama entri layanan yang dihasilkan setelah pendaftaran layanan.

    type

    Tipe registrasi layanan. Atur parameter ini ke consul.

    endpoint

    Titik akhir registrasi layanan.

    toNamespace

    Namespace tempat entri layanan yang dihasilkan berada. Jika namespace yang ditentukan tidak ada, namespace akan dibuat secara otomatis.

    Jika Anda ingin menghubungkan instance ASM ke beberapa registrasi layanan Consul, tambahkan ID instance ASM yang relevan, ID wilayah kluster, ID AccessKey, dan Rahasia AccessKey ke file values.yaml, tentukan parameter setiap registrasi layanan, dan 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, instance ASM Anda secara otomatis terhubung ke registrasi layanan Consul, dan Deployment asm-serviceregistry-syncer secara otomatis diinstal di kluster ACK yang ditambahkan ke instance ASM. Selain itu, semua layanan yang didaftarkan dalam registrasi layanan Consul disinkronkan ke instance ASM Anda.

Langkah 3: Periksa koneksi antara instance ASM Anda dan registrasi layanan Consul

  1. Periksa apakah Deployment asm-serviceregistry-syncer telah diinstal.

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

    2. Di halaman Clusters, temukan kluster yang ingin Anda kelola dan klik namanya. Di panel di sebelah kiri, pilih Workloads > Deployments.

    3. Di halaman Deployments, periksa apakah Deployment asm-serviceregistry-syncer ada.

      asm

  2. Periksa sinkronisasi entri layanan.

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

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

    3. Di halaman External Service(ServiceEntry), periksa apakah tiga layanan yang didaftarkan dalam registrasi layanan Consul disinkronkan ke instance ASM Anda.

      Catatan
      • Di halaman External Service(ServiceEntry), layanan Consul diberi nama dalam format berikut: [Awalan yang ditentukan di Langkah 2]-[Nama layanan yang didaftarkan di Consul].

      • Di halaman External Service(ServiceEntry), nama namespace tempat layanan Consul berada adalah nilai parameter toNamespace yang ditentukan di Langkah 2.

FAQ

Bagaimana cara memanggil layanan Consul?

Setelah menambahkan kluster tempat layanan Consul berada ke bidang data, Anda dapat memanggil layanan Consul dengan menggunakan dua metode berikut:

  • Metode 1: Aktifkan fitur Proxy DNS dan gunakan nama host dan nomor port di entri layanan yang sesuai dengan layanan Consul untuk memanggil layanan Consul.

    1. Aktifkan fitur Proxy DNS. Untuk informasi lebih lanjut, lihat Gunakan Fitur Proxy DNS dalam Instance ASM.

    2. Dapatkan nama host dan nomor port yang digunakan untuk memanggil layanan Consul.

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

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

      3. Di halaman External Service(ServiceEntry), temukan entri layanan yang ingin Anda lihat dan klik YAML di kolom Actions.

        Di kotak dialog Edit, peroleh nama host dan nomor port. Kemudian, gunakan URL dalam format http://<Nama Host>:<Nomor Port> untuk memanggil layanan Consul.hosts

  • Metode 2: Gunakan titik akhir di entri layanan yang sesuai dengan layanan Consul untuk memanggil layanan Consul.

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

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

    3. Di halaman External Service(ServiceEntry), temukan entri layanan yang ingin Anda lihat dan klik YAML di kolom Actions.

      Di kotak dialog Edit, peroleh titik akhir layanan. Kemudian, gunakan URL dalam format http://<Titik Akhir> untuk memanggil layanan Consul.address

Bagaimana cara menyinkronkan layanan antara Consul dan Istio?

Setelah mendaftarkan layanan di Consul, layanan tersebut secara otomatis disinkronkan ke Istio sebagai entri layanan. Jika Anda memperbarui atau menghapus layanan, entri layanan di Istio juga diperbarui atau dihapus.

Bagaimana cara menutup koneksi antara instance ASM dan registrasi layanan Consul?

Jalankan perintah berikut untuk menghapus instalasi ASM-se-syncer:

helm uninstall se-syncer