All Products
Search
Document Center

Alibaba Cloud Service Mesh:Integrasikan ALB dengan gerbang masuk ASM

Last Updated:Jun 21, 2026

Service Mesh Alibaba Cloud terintegrasi dengan Application Load Balancer (ALB) untuk kluster Container Service for Kubernetes (ACK) yang menggunakan plugin jaringan Terway pada bidang data. Integrasi ini menyederhanakan tata kelola layanan, memastikan komunikasi antarlayanan yang aman dan terotentikasi, menyediakan observabilitas mesh, serta mengurangi beban kerja Pengembangan dan Operasi. Topik ini menjelaskan cara mengintegrasikan Service Mesh (ASM) dengan ALB.

Prasyarat

  • Sebuah kluster ACK telah ditambahkan ke instans ASM Anda, dan instans ASM serta kluster ACK memenuhi persyaratan berikut:

    • Instans ASM: Edisi Perusahaan.

    • Kluster ACK:

      • Tipe plugin jaringan adalah Terway.

      • Versi komponen Cloud Controller Manager (CCM) adalah v1.9.3.313-g748f81e-aliyun atau lebih baru. Untuk informasi selengkapnya, lihat Cloud Controller Manager.

      • Komponen ALB Ingress Controller telah diinstal. Untuk informasi selengkapnya, lihat Manage components.

  • Injeksi proxy sidecar otomatis telah diaktifkan untuk namespace default. Untuk informasi selengkapnya, lihat Enable automatic injection.

  • Gerbang masuk telah dibuat dengan parameter CLB instance type diatur ke Private Access dan Service Port diatur ke 80. Untuk informasi selengkapnya, lihat Create an ingress gateway.

Langkah 1: Deploy aplikasi contoh

Jalankan perintah berikut pada kluster bidang data untuk mendeploy aplikasi contoh Bookinfo. Untuk informasi selengkapnya, lihat Deploy an application in a cluster associated with an ASM instance.

kubectl apply -f https://raw.githubusercontent.com/istio/istio/master/samples/bookinfo/platform/kube/bookinfo.yaml

Langkah 2: Buat resource Istio

Anda akan membuat resource Gateway dan VirtualService untuk tujuan pengujian.

  1. Buat resource Gateway.

    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 ASM Gateways > Gateway.

    3. Pada halaman Gateway, klik Create.

      Pada bagian Basic Information, pilih default untuk Namespace dan masukkan bookinfo-gateway untuk Name. Pada bagian Apply to Gateway, tambahkan label dengan kunci istio dan nilai ingressgateway. Pada bagian Service, masukkan http untuk Name, masukkan 80 untuk Port, dan pilih HTTP untuk Protocol. Lalu, klik Create.

    4. Klik Preview untuk meninjau file YAML resource Gateway. Setelah memastikan konfigurasi sudah benar, klik OK. Lalu, klik Create di bagian bawah halaman Create.

      View YAML details

      apiVersion: networking.istio.io/v1beta1
      kind: Gateway
      metadata:
        name: bookinfo-gateway
        namespace: default
      spec:
        selector:
          istio: ingressgateway
        servers:
          - port:
              number: 80
              name: http
              protocol: HTTP
            hosts:
              - '*'
  2. Buat VirtualService dan atur routing.

    1. Pada halaman detail instans ASM, pilih Traffic Management Center > VirtualService di panel navigasi kiri.

    2. Pada halaman VirtualService, klik Create untuk mengonfigurasi layanan virtual untuk bookinfo-gateway.

      Atur Namespace ke default dan Name ke bookinfo. Matikan sakelar Apply to all Sidecars, lalu tambahkan bookinfo-gateway ke aturan gateway. Pada bagian HTTP Route, tambahkan aturan pencocokan berikut: pencocokan URI eksak /productpage, pencocokan awalan URI /static, pencocokan URI eksak /login, pencocokan URI eksak /logout, dan pencocokan awalan URI /api/v1/products. Atur nama layanan tujuan rute ke productpage dan port ke 9080. Lalu, klik Create.

    3. Di bagian bawah halaman Create, klik Preview untuk melihat file YAML. Setelah memastikan konfigurasi sudah benar, klik Submit. Lalu, di bagian bawah halaman Create, klik Create.

      View YAML details

      apiVersion: networking.istio.io/v1beta1
      kind: VirtualService
      metadata:
        name: bookinfo
        namespace: default
      spec:
        gateways:
          - bookinfo-gateway
        hosts:
          - '*'
        http:
          - match:
              - uri:
                  exact: /productpage
              - uri:
                  prefix: /static
              - uri:
                  exact: /login
              - uri:
                  exact: /logout
              - uri:
                  prefix: /api/v1/products
            route:
              - destination:
                  host: productpage
                  port:
                    number: 9080
                              

Langkah 3: Buat objek AlbConfig

Skenario 1: Integrasikan instans ALB yang sudah ada

  1. Masuk ke Konsol ALB dan dapatkan ID instans ALB Anda.

  2. Buat file bernama alb-demo.yaml dengan konten berikut.

    Ganti config.id dengan ID instans ALB Anda.

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: default
    spec:
      config:
        id: alb-xxxxx 
        forceOverride: false
  3. Jalankan perintah berikut untuk membuat objek AlbConfig.

    kubectl apply -f alb-demo.yaml

Skenario 2: Integrasikan instans ALB baru

  1. Buat file bernama alb-demo.yaml dengan konten berikut. Untuk informasi selengkapnya, lihat Expose services by using an ALB Ingress.

    Contoh ini secara otomatis membuat instans ALB bernama alb-demo.

    apiVersion: alibabacloud.com/v1
    kind: AlbConfig
    metadata:
      name: default
    spec:
      config:
        name: alb-demo
        addressType: Internet
        zoneMappings:
        - vSwitchId: vsw-uf6ccg2a9g71hx8go****
        - vSwitchId: vsw-uf6nun9tql5t8nh15****

    Parameter

    Description

    spec.config.name

    Nama instans ALB.

    addressType

    (Wajib) Tipe alamat load balancer. Nilai yang valid:

    • Internet (default): Load balancer memiliki Alamat IP publik. Rekaman DNS diselesaikan ke Alamat IP publik, dan load balancer dapat diakses melalui Internet.

    • Intranet: Load balancer hanya memiliki Alamat IP pribadi. Rekaman DNS diselesaikan ke Alamat IP pribadi, dan load balancer hanya dapat diakses dari dalam VPC tempatnya dideploy.

    zoneMappings

    (Wajib) ID vSwitch untuk ALB Ingress. Anda harus menentukan minimal dua ID vSwitch yang berada di zona ketersediaan berbeda. vSwitch yang ditentukan harus berada di zona ketersediaan yang didukung oleh ALB. Untuk informasi tentang wilayah dan zona yang didukung, lihat Regions and zones supported by ALB. Untuk informasi cara membuat vSwitch, lihat Create and manage vSwitches.

  2. Jalankan perintah berikut untuk membuat objek AlbConfig.

     kubectl apply -f alb-demo.yaml

Langkah 4: Buat resource IngressClass

  1. Buat file bernama alb.yaml dan salin konten berikut ke dalamnya.

    apiVersion: networking.k8s.io/v1
    kind: IngressClass
    metadata:
      name: alb
    spec:
      controller: ingress.k8s.alibabacloud/alb
      parameters:
        apiGroup: alibabacloud.com
        kind: AlbConfig
        name: default
        scope: Cluster
  2. Jalankan perintah berikut untuk membuat resource IngressClass.

    kubectl apply -f alb.yaml

    Output yang diharapkan:

    ingressclass.networking.k8s.io/alb created

Langkah 5: Buat resource Ingress

Layanan untuk gerbang masuk ASM berjalan di namespace istio-system. Anda harus membuat resource Ingress di namespace istio-system yang sama pada kluster bidang data Anda (kluster ACK). Port harus konsisten dengan port 80 yang telah Anda konfigurasikan untuk gerbang masuk ASM.

  1. Buat file bernama asm-gateway-ingress.yaml dan salin konten berikut ke dalam file tersebut.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: asm-gateway-ingress
      namespace: istio-system
    spec:
      ingressClassName: alb
      rules:
      - http:
          paths:
          - backend:
              service:
                name: istio-ingressgateway
                port:
                  number: 80
            path: /*
            pathType: ImplementationSpecific
                    
  2. Jalankan perintah berikut untuk membuat resource Ingress.

    kubectl apply -f asm-gateway-ingress.yaml

Langkah 6: Uji akses

  1. Jalankan perintah berikut untuk mendapatkan alamat Ingress.

    kubectl get ing -n istio-system

    Output yang diharapkan:

    NAME                  CLASS   HOSTS   ADDRESS                                               PORTS   AGE
    asm-gateway-ingress   alb     *       alb-xxxx.xxxx.alb.aliyuncs.com                        80      18h

    Alamat Ingress adalah alb-xxxx.xxxx.alb.aliyuncs.com.

  2. Akses gerbang masuk ASM.

    • Metode 1: Akses gerbang ASM menggunakan alamat instans Ingress yang Anda peroleh pada langkah sebelumnya: http://alb-xxxx.xxxx.alb.aliyuncs.com/productpage.

    • Metode 2: Masuk ke Konsol ALB dan akses gerbang ASM menggunakan Alamat IP publik instans ALB atau nama domain yang terikat dengannya. Pada halaman detail instans di Konsol ALB, lihat informasi dasar instans ALB alb-demo. Di bagian zona ketersediaan di bawah, Anda dapat menemukan Elastic IP Address (EIP) untuk setiap zona ketersediaan.

Dokumen terkait

Use the Terway network plugin