全部产品
Search
文档中心

Alibaba Cloud Service Mesh:Asosiasikan instance NLB dengan ingress gateway

更新时间:Jul 06, 2025

Instance Network Load Balancer (NLB) adalah load balancer Lapisan 4 generasi berikutnya yang dikembangkan oleh Alibaba Cloud untuk Internet of Everything (IoE). NLB menawarkan performa ultra-tinggi, mendukung penskalaan otomatis, ketersediaan tinggi, serta stabilitas trafik gateway yang lebih baik. Ingress gateway ASM mendukung penggunaan NLB. Jika Anda mengatur ServiceType ke LoadBalancer untuk sebuah ingress gateway, instance Classic Load Balancer (CLB) secara otomatis diasosiasikan sebagai load balancer untuk layanan gateway tersebut. Topik ini menjelaskan cara mengasosiasikan instance NLB dengan ingress gateway.

Prasyarat

Sebuah kluster Kubernetes telah ditambahkan ke instance ASM Anda dengan kondisi berikut terpenuhi:

  • Versi kluster Kubernetes adalah V1.24 atau lebih baru dan versi cloud controller manager (CCM) adalah V2.5.0 atau lebih baru.

  • Versi instance ASM adalah V1.18 atau lebih baru.

  • VPC tempat kluster ACK berada memiliki vSwitch di setidaknya dua zona.

Prosedur

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

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

  3. Anda dapat memilih untuk membuat ingress gateway menggunakan konsol atau template YAML.

    Buat ingress gateway menggunakan konsol

    Di halaman Ingress Gateway, klik Create. Topik ini hanya menjelaskan parameter untuk instance NLB. Untuk informasi lebih lanjut tentang parameter konfigurasi lainnya, lihat Buat ingress gateway.

    Item konfigurasi

    Deskripsi

    NLB

    Konfigurasi ini diperlukan hanya ketika Service Type diatur ke LoadBalancer.

    Internet Access dan VPC Access didukung.

    Create SLB Instance

    • Secara default, Create SLB Instance dipilih di konsol. Anda dapat memilih Use Existing SLB Instance sesuai kebutuhan.

    • Setelah memilih opsi ini, Anda perlu memilih vSwitch yang ditempatkan di setidaknya dua zona dalam Select Zones for NLB Instance di bawah ini.

    Use Existing SLB Instance

    Setelah memilih opsi ini, Anda perlu memilih instance NLB yang ada dalam Select An Existing Load Balancer di bawah ini.

    Penting

    Kami merekomendasikan untuk menetapkan load balancer untuk setiap layanan Kubernetes. Jika beberapa layanan Kubernetes berbagi load balancer yang sama, risiko dan batasan berikut akan muncul:

    • Menggunakan load balancer yang ada akan menimpa listener yang sudah ada, menyebabkan aplikasi Anda tidak dapat diakses.

    • Load balancer yang dibuat oleh Kubernetes melalui Service tidak dapat digunakan kembali. Hanya yang dibuat secara manual di konsol (atau dengan memanggil OpenAPI) yang dapat digunakan kembali.

    • Beberapa Service yang berbagi load balancer yang sama tidak dapat memiliki port listener frontend yang sama, karena ini akan menghasilkan konflik port.

    • Saat menggunakan kembali load balancer, nama listener dan grup vServer digunakan oleh Kubernetes sebagai pengenal unik. Oleh karena itu, jangan ubah nama listener atau grup vServer.

    • Penggunaan kembali load balancer lintas kluster dan lintas wilayah tidak didukung.

    Buat ingress gateway menggunakan template YAML

    Di halaman Ingress Gateway, klik Use a YAML template, atur nama gateway menjadi ingressgateway-nlb-test, dan pilih istio-system untuk Namespace. Konfigurasikan YAML berikut.

    Dalam YAML, Anda perlu mengatur loadBalancerClass menjadi alibabacloud.com/nlb. Anda tidak perlu menentukan spesifikasi untuk instance NLB, tetapi Anda harus menentukan setidaknya dua zona.

    Perluas untuk melihat 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:
      - ${ID kluster saat ini yang ditambahkan ke mesh}
      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: ${ID Zona}:${ID VSwitch di zona ini},${ID Zona lain}:${ID VSwitch di zona ini}	# Contohnya, cn-hangzhou-g:vsw-bp1xxxxxxxxxx,cn-hangzhou-j:vsw-bp1xxxxxxxxxx
      serviceType: LoadBalancer
      loadBalancerClass: alibabacloud.com/nlb

    Setelah pembuatan selesai, halaman akan menampilkan seperti berikut. Untuk gateway yang menggunakan CLB, Service Address ditampilkan sebagai alamat IP. Untuk gateway yang menggunakan NLB, Service Address ditampilkan sebagai nama domain. Jika Anda menentukan dua zona saat membuat ingress gateway, dua alamat IP akan diikat ke nama domain tersebut.

    nlb.png

    Anda dapat masuk ke Konsol NLB untuk melihat status NLB saat ini. Untuk informasi lebih lanjut, lihat Konfigurasikan load balancing berbasis jaringan NLB menggunakan anotasi dan Tagihan NLB.