全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Integrasikan Instance ALB dengan Ingress Gateway

更新时间:Jul 06, 2025

Sebuah instance Application Load Balancer (ALB) dapat diintegrasikan dengan ingress gateway dalam instance Service Mesh (ASM) untuk mengakses kluster Alibaba Cloud Container Service for Kubernetes (ACK) yang menggunakan plug-in jaringan Terway. Fitur ini menyederhanakan manajemen layanan, memastikan keamanan komunikasi antar layanan, meningkatkan observabilitas, serta mengurangi beban kerja pengembangan, operasi, dan pemeliharaan. Topik ini menjelaskan cara mengintegrasikan instance ALB dengan ingress gateway pada Service Mesh.

Prasyarat

  • Kluster ACK telah ditambahkan ke instance ASM. Instance ASM dan kluster ACK harus memenuhi persyaratan berikut:

    • Instance ASM adalah Edisi Perusahaan.

    • Kluster ACK:

      • Plug-in jaringan Terway digunakan.

      • Komponen Cloud Controller Manager (CCM) adalah versi v1.9.3.313-g748f81e-aliyun atau lebih baru. Untuk informasi lebih lanjut, lihat Cloud Controller Manager.

      • Kontroler ALB Ingress telah diinstal. Untuk informasi lebih lanjut, lihat Kelola Komponen.

  • Injeksi proxy sidecar otomatis diaktifkan untuk namespace default. Untuk informasi lebih lanjut, lihat bagian "Aktifkan injeksi proxy sidecar otomatis" dari topik Kelola Namespace Global.

  • Ingress gateway telah dibuat. Untuk ingress gateway ini, CLB Instance Type disetel ke Private Access dan Service Port disetel ke 80. Untuk informasi lebih lanjut, lihat Buat Ingress Gateway.

Langkah 1: Deploy aplikasi sampel

Sambungkan ke kluster menggunakan file kubeconfig pada bidang data, lalu jalankan perintah berikut untuk mendeploy aplikasi Bookinfo. Untuk informasi lebih lanjut, lihat Deploy Aplikasi dalam Kluster ACK yang Ditambahkan ke Instance ASM.

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

Langkah 2: Buat sumber daya Istio

Pada contoh ini, gateway Istio dan layanan virtual dibuat untuk pengujian.

  1. Buat gateway Istio.

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

    2. Di halaman Mesh Management, klik nama instance ASM. Di panel navigasi kiri, pilih ASM Gateways > Gateway.

    3. Di halaman Gateway, klik Create dan konfigurasikan parameter sesuai gambar berikut.

      4

    4. Di bagian bawah halaman Create, klik Preview untuk melihat file YAML dari gateway Istio. Setelah mengonfirmasi informasi dalam file YAML, klik Submit. Kemudian, klik Create.

      Tampilkan File YAML

      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 layanan virtual dan konfigurasikan pengaturan rute trafik.

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

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

      96

    3. Di bagian bawah halaman Create, klik Preview untuk melihat file YAML dari layanan virtual. Setelah mengonfirmasi informasi dalam file YAML, klik Submit. Selanjutnya, di bagian bawah halaman Create, klik Create.

      Tampilkan File YAML

      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: Anda perlu mengintegrasikan instance ALB standar yang ada dengan ingress gateway

  1. Dapatkan ID instance ALB di Konsol ALB.

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

    Ganti nilai id di bagian config dengan ID instance 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: Anda perlu membuat instance ALB dan mengintegrasikannya dengan ingress gateway

  1. Buat file alb-demo.yaml dengan konten berikut. Untuk informasi lebih lanjut, lihat Buat ALB Ingress.

    Tetapkan nama instance ALB yang dibuat secara otomatis menjadi 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

    Deskripsi

    spec.config.name

    Nama instance ALB yang ingin Anda buat.

    addressType

    Jenis alamat IP yang digunakan oleh instance ALB untuk menyediakan layanan. Parameter ini wajib. Nilai valid:

    • Internet: Instance ALB menggunakan alamat IP publik. Nama domain Ingress diarahkan ke alamat IP publik instance ALB. Oleh karena itu, instance ALB dapat diakses melalui Internet. Ini adalah nilai default.

    • Intranet: Instance ALB menggunakan alamat IP pribadi. Nama domain Ingress diarahkan ke alamat IP pribadi. Oleh karena itu, instance ALB hanya dapat diakses dalam virtual private cloud (VPC) tempat instance ALB diterapkan.

    zoneMappings

    ID vSwitch yang digunakan oleh ALB Ingress. Anda harus menentukan setidaknya dua ID vSwitch dan vSwitch tersebut harus ditempatkan di zona berbeda. Zona vSwitch harus didukung oleh ALB Ingress. Parameter ini wajib. Untuk informasi lebih lanjut tentang wilayah dan zona yang didukung oleh ALB Ingress, lihat Wilayah dan zona. Untuk informasi lebih lanjut tentang cara membuat vSwitch, lihat Buat dan kelola vSwitches.

  2. Jalankan perintah berikut untuk membuat objek AlbConfig:

     kubectl apply -f alb-demo.yaml

Langkah 4: Buat sumber daya IngressClass

  1. Buat file alb.yaml dengan konten berikut:

    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 sumber daya IngressClass:

    kubectl apply -f alb.yaml

    Output yang diharapkan:

    ingressclass.networking.k8s.io/alb created

Langkah 5: Buat instance Ingress

Ingress gateway dibuat di namespace istio-system. Anda perlu membuat instance Ingress di namespace istio-system di kluster ACK pada bidang data. Nomor port adalah 80, sama seperti yang ditentukan saat membuat ingress gateway.

  1. Buat file asm-gateway-ingress.yaml dengan konten berikut:

    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 instance Ingress:

    kubectl apply -f asm-gateway-ingress.yaml

Langkah 6: Akses ingress gateway

  1. Jalankan perintah berikut untuk menanyakan titik akhir instance 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

    Pada output, Anda dapat melihat bahwa titik akhir instance Ingress adalah alb-xxxx.xxxx.alb.aliyuncs.com.

  2. Akses ingress gateway dengan salah satu metode berikut:

    • Metode 1: Masukkan http://alb-xxxx.xxxx.alb.aliyuncs.com/productpage di browser untuk mengakses ingress gateway. alb-xxxx.xxxx.alb.aliyuncs.com adalah titik akhir instance Ingress yang diperoleh pada langkah sebelumnya.

    • Metode 2: Masuk ke Konsol ALB untuk mendapatkan alamat IP publik instance ALB dan gunakan untuk mengakses ingress gateway. Jika instance ALB terikat ke nama domain, Anda dapat menggunakan nama domain untuk mengakses ingress gateway.95

Referensi

Bekerja dengan Terway