All Products
Search
Document Center

Container Service for Kubernetes:Migrasi dari SLB Ingress ke ALB Ingress

Last Updated:Jun 21, 2026

Per 28 Februari 2023, SLB Ingress telah ditinggalkan (deprecated) di Container Service for Kubernetes (ACK) Serverless. Anda tidak dapat lagi menginstal atau mengelola controller SLB Ingress di kluster Anda, dan kami tidak lagi menyediakan dukungan teknis untuk SLB Ingress. Kami menyarankan agar Anda segera melakukan migrasi ke ALB Ingress. Topik ini menjelaskan cara melakukan migrasi dari SLB Ingress ke ALB Ingress.

Informasi latar belakang

SLB menyediakan kemampuan Lapisan 7 yang terbatas. Misalnya, SLB tidak mendukung fitur seperti pengubahan ulang Header HTTP, Pengalihan, dan Pembatasan laju. Anda juga perlu mengelola spesifikasi instans secara manual, yang sangat membatasi SLB Ingress. Untuk mengatasi keterbatasan tersebut, kami memperkenalkan gerbang ALB Ingress, yang dirancang khusus untuk Lapisan 7 dan menyediakan manajemen trafik Ingress yang lebih andal.

ALB Ingress didasarkan pada Alibaba Cloud Application Load Balancer (ALB). Dibandingkan dengan SLB Ingress, ALB Ingress mendukung routing kompleks (berdasarkan header dan cookie) serta penemuan sertifikat otomatis. ALB Ingress mendukung protokol HTTP, HTTPS, dan QUIC, serta lebih baik dalam menangani kebutuhan manajemen trafik Lapisan 7 untuk aplikasi cloud-native. Untuk perbandingan fitur antara ALB dan SLB, lihat Pengenalan keluarga produk SLB.

Proses migrasi

Contoh migrasi

Topik ini menggunakan resource Ingress berikut sebagai contoh. Titik akhir Ingress di-resolve ke nama domain demo.ingress.vip.

Lihat file YAML

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: demo-ingress
  namespace: default
spec:
  ingressClassName: slb
  rules:
    - host: demo.ingress.vip
      http:
        paths:
          - backend:
              service:
                name: nginx
                port:
                  number: 80
            path: /
            pathType: Prefix

Masukkan demo.ingress.vip di bilah alamat browser Anda. Halaman akan menampilkan Welcome to nginx!.

Langkah 1: Membuat ALB Ingress

  1. Instal controller ALB Ingress. Untuk informasi selengkapnya, lihat Mengelola controller ALB Ingress.

  2. Dapatkan file kubeconfig kluster dan gunakan kubectl untuk menghubungkan ke kluster.

  3. Buat AlbConfig.

    1. Gunakan konten berikut untuk membuat albconfig.yaml.

      apiVersion: alibabacloud.com/v1
      kind: AlbConfig
      metadata:
        name: alb-demo
      spec:
        config:
          name: alb-test
          addressType: Internet
          zoneMappings:
          - vSwitchId: vsw-wz9e2usil7e5an1xi****
          - vSwitchId: vsw-wz92lvykqj1siwvif****
        listeners:
          - port: 80
            protocol: HTTP

      zoneMappings: ID vSwitch untuk ALB Ingress. Anda harus menentukan minimal dua vSwitch di zona berbeda. vSwitch tersebut harus berada dalam VPC yang sama dengan kluster Anda.

    2. Jalankan perintah berikut untuk membuat AlbConfig.

      kubectl apply -f albconfig.yaml
    3. Jalankan perintah berikut untuk memeriksa apakah instans ALB telah dibuat.

      kubectl get albconfig <AlbConfig-name>

      Output yang diharapkan:

      NAME       ALBID                    DNSNAME                                               PORT&PROTOCOL   CERTID   AGE
      alb-demo   alb-eeee6gtqbmrm19****   alb-eeee6gtqbmrm19****.cn-shenzhen.alb.aliyuncs.com                            27s
  4. Buat IngressClass.

    1. Gunakan konten berikut untuk membuat ingressclass.yaml.

      apiVersion: networking.k8s.io/v1
      kind: IngressClass
      metadata:
        name: alb
      spec:
        controller: ingress.k8s.alibabacloud/alb
        parameters:
          apiGroup: alibabacloud.com
          kind: AlbConfig
          name: alb-demo

      parameters.name: Nama AlbConfig yang akan di-bind.

    2. Jalankan perintah berikut untuk membuat IngressClass.

      kubectl apply -f ingressclass.yaml
  5. Buat ALB Ingress.

    1. Gunakan konten berikut untuk membuat albingress.yaml.

      apiVersion: networking.k8s.io/v1
      kind: Ingress
      metadata:
        name: demo-ingress-alb
        namespace: default
      spec:
        ingressClassName: alb
        rules:
          - host: demo.ingress.vip
            http:
              paths:
                - backend:
                    service:
                      name: nginx
                      port:
                        number: 80
                  path: /
                  pathType: Prefix
      • name: Nama Ingress. Nama ini harus berbeda dari nama SLB Ingress.

      • ingressClassName: Nama IngressClass.

    2. Jalankan perintah berikut untuk membuat ALB Ingress.

      kubectl apply -f albingress.yaml
    3. Jalankan perintah berikut untuk mendapatkan titik akhir ALB Ingress.

      kubectl get ing

      Output yang diharapkan:

      NAME                CLASS   HOSTS              ADDRESS                                               PORTS   AGE
      demo-ingress       slb     demo.ingress.vip   120.79.**.**                                           80      35m
      demo-ingress-alb   alb     demo.ingress.vip   alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com   80      10m     46s

      Catat titik akhir ALB Ingress dari output tersebut. Pada contoh ini, titik akhirnya adalah alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com.

    4. Jalankan perintah berikut untuk mengakses aplikasi Nginx melalui ALB Ingress.

      curl -H "Host: demo.ingress.vip" http://alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com

      Output yang diharapkan:

      <!DOCTYPE html>
      <html>
      <head>
      <title>Welcome to nginx!</title>
      <style>
          body {
              width: 35em;
              margin: 0 auto;
              font-family: Tahoma, Verdana, Arial, sans-serif;
          }
      </style>
      .............

Langkah 2: Mengalihkan trafik ke ALB Ingress

Perbarui rekaman DNS untuk demo.ingress.vip agar mengarah ke titik akhir ALB, bukan titik akhir SLB. Hal ini akan mengalihkan trafik ke layanan Nginx melalui ALB Ingress.

  1. Masuk ke Konsol DNS Alibaba Cloud.

  2. Di halaman Configure domain name, klik nama domain di tab All Zone Names.

  3. Di halaman Settings, temukan rekaman DNS yang dituju dan klik Modify di kolom Actions.

  4. Di kotak dialog Modify Record, ubah Record Value menjadi titik akhir ALB Ingress (pada contoh ini, alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com), lalu klik OK.

  5. Masukkan demo.ingress.vip di bilah alamat browser Anda.

    Browser akan menampilkan Welcome to nginx!. Hal ini mengonfirmasi bahwa trafik kini dialihkan melalui ALB Ingress, sehingga migrasi telah selesai.

Langkah 3: Menghapus SLB Ingress

  1. Hapus SLB Ingress.

    1. Di panel navigasi kiri halaman manajemen kluster, pilih Network > Ingresses.

    2. Di bagian atas halaman Ingresses, pilih Namespace yang sesuai. Temukan SLB Ingress, lalu di kolom Actions, pilih More > Delete.

    3. Di kotak dialog yang muncul, klik OK.

  2. Uninstal controller SLB Ingress.

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

    2. Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons.

    3. Di halaman Add-ons, klik tab Others. Temukan SLB Ingress controller dan klik Uninstall.

    4. Di kotak dialog yang muncul, klik OK.

FAQ

Apakah saya dapat melakukan migrasi tanpa gangguan (seamless) dari SLB Ingress ke ALB Ingress?

Tidak. Migrasi langsung di tempat (in-place) tidak didukung karena ALB dan SLB merupakan jenis load balancer yang berbeda.