All Products
Search
Document Center

Alibaba Cloud Service Mesh:Gunakan NLB untuk gerbang masuk ASM

Last Updated:Jun 22, 2026

Network Load Balancer (NLB) adalah load balancer Lapisan 4 dari Alibaba Cloud yang menyediakan kinerja tinggi, auto-scaling, dan ketersediaan tinggi untuk meningkatkan stabilitas lalu lintas gateway Anda. ASM mendukung penggunaan NLB sebagai gerbang masuknya. Saat Anda mengatur type Service untuk gerbang masuk ASM ke LoadBalancer, Classic Load Balancer (CLB) akan dikaitkan secara default. Topik ini menjelaskan cara mengaitkan NLB sebagai gantinya.

Prasyarat

Kluster ACK telah ditambahkan ke instans ASM, dan kondisi berikut terpenuhi:

  • Kluster Kubernetes versi 1.24 atau lebih baru dan Cloud Controller Manager (CCM) versi 2.5.0 atau lebih baru.

  • Instans ASM versi 1.18 atau lebih baru.

  • VPC kluster ACK memiliki vSwitch di minimal dua zona.

Prosedur

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

  2. Pada halaman Mesh Management, klik nama instans ASM. Di panel navigasi sebelah kiri, pilih ASM Gateways > Ingress Gateway.

  3. Anda dapat membuat gerbang masuk melalui Konsol ASM atau templat YAML.

    Konsol

    Pada halaman Ingress Gateway, klik Create. Bagian ini hanya menjelaskan parameter khusus NLB. Untuk informasi tentang parameter lainnya, lihat Buat gerbang masuk.

    Parameter

    Deskripsi

    NLB

    Parameter ini tersedia hanya jika Service Type diatur ke LoadBalancer.

    Mendukung Internet Access dan Private Access.

    Create SLB Instance

    • Konsol secara default memilih Create SLB Instance, tetapi Anda dapat memilih Use Existing CLB Instance sesuai kebutuhan.

    • Jika memilih opsi ini, Anda harus memilih vSwitch di minimal dua zona pada bagian Select Zones for NLB Instance.

    Use Existing CLB Instance

    Jika memilih opsi ini, Anda harus memilih NLB yang sudah ada dari daftar drop-down Select Existing Load Balancer Instance.

    Penting

    Tetapkan load balancer khusus untuk setiap layanan Kubernetes. Menggunakan kembali load balancer untuk beberapa layanan memiliki risiko dan batasan berikut:

    • Menggunakan kembali load balancer yang sudah ada akan menimpa pendengarnya (listeners), yang dapat menyebabkan gangguan aplikasi.

    • Anda tidak dapat menggunakan kembali load balancer yang dibuat secara otomatis oleh Kubernetes melalui Service. Anda hanya dapat menggunakan kembali load balancer yang dibuat secara manual di konsol atau dengan memanggil OpenAPI.

    • Layanan ganda yang menggunakan kembali load balancer yang sama tidak boleh memiliki port pendengar antarmuka depan yang sama. Jika tidak, akan terjadi konflik port.

    • Saat Anda menggunakan kembali load balancer, Kubernetes menggunakan nama pendengar dan Kelompok vServer sebagai pengenal unik. Jangan ubah nama-nama tersebut.

    • Anda tidak dapat menggunakan kembali load balancer lintas kluster atau wilayah yang berbeda.

    YAML

    Pada halaman Ingress Gateway, klik Create from YAML, atur nama gateway menjadi ingressgateway-nlb-test, dan pilih istio-system sebagai Namespaces. Kemudian, masukkan YAML berikut.

    Dalam file YAML, Anda harus mengatur loadBalancerClass ke alibabacloud.com/nlb. Anda tidak perlu menentukan spesifikasi NLB, tetapi harus menentukan minimal dua zona.

    YAML

    apiVersion: istio.alibabacloud.com/v1
    kind: IstioGateway
    metadata:
      name: ingressgateway-nlb-test
      namespace: istio-system
    spec:
      affinity:
        podAntiAffinity:
          preferredDuringSchedulingIgnoredDuringExecution:
          - podAffinityTerm:
              labelSelector:
                matchExpressions:
                - key: istio
                  operator: In
                  values:
                  - ingressgateway
              topologyKey: kubernetes.io/hostname
            weight: 1
      autoCreateGatewayYaml: false
      clusterIds:
      - ${YOUR_CLUSTER_ID}
      disableContainerPortExposed: true
      dnsPolicy: ClusterFirst
      externalTrafficPolicy: Local
      gatewayType: ingress
      hostNetwork: false
      ports:
      - name: http-0
        port: 80
        protocol: HTTP
        targetPort: 80
      - name: https-1
        port: 443
        protocol: HTTPS
        targetPort: 443
      replicaCount: 2
      resources:
        limits:
          cpu: "2"
          memory: 4G
        requests:
          cpu: 200m
          memory: 256Mi
      rollingMaxSurge: 25%
      rollingMaxUnavailable: 25%
      runAsRoot: true
      serviceAnnotations:
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain: "on"
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-connection-drain-timeout: "10"
        service.beta.kubernetes.io/alicloud-loadbalancer-address-type: internet
        service.beta.kubernetes.io/alibaba-cloud-loadbalancer-zone-maps: ${ZONE_ID_1}:${VSWITCH_ID_1},${ZONE_ID_2}:${VSWITCH_ID_2}	# Contoh: cn-hangzhou-g:vsw-bp1xxxxxxxxxx,cn-hangzhou-j:vsw-bp1xxxxxxxxxx
      serviceType: LoadBalancer
      loadBalancerClass: alibabacloud.com/nlb

    Setelah gateway dibuat, detailnya akan muncul di halaman tersebut. Berbeda dengan gateway berbasis CLB, gateway berbasis NLB menggunakan nama domain untuk Service address-nya, bukan alamat IP. Selain itu, karena dua zona telah ditentukan saat pembuatan gerbang masuk, nama domain tersebut diikat ke dua alamat IP.

    Setelah gateway dibuat, Anda dapat melihat informasi instansnya di halaman gerbang masuk. Informasi ini mencakup nama gateway (misalnya ingressgateway-nlb-test), status, versi, ID kluster, alamat layanan (nama domain NLB), dan pemetaan port (misalnya HTTP | 80:80 dan HTTPS | 443:443). Halaman ini juga menyediakan tautan ke operasi manajemen seperti Edit Gateway, View Details, View YAML, dan Delete, serta fitur lanjutan dan opsi observabilitas seperti Gateway Security, Log Center, dan Gateway Monitoring.

    Anda dapat login ke Konsol NLB untuk melihat status instans NLB. Untuk informasi selengkapnya tentang NLB, lihat Konfigurasi instans NLB menggunakan anotasi dan penagihan NLB.