All Products
Search
Document Center

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

Last Updated:Sep 25, 2026

Mulai 28 Februari 2023, Container Service for Kubernetes (ACK) Serverless tidak lagi mendukung SLB Ingress: Anda tidak dapat menginstal atau mengelola add-on SLB Ingress Controller melalui kluster. Segera migrasikan SLB Ingress ke ALB Ingress. Topik ini memandu Anda dalam membuat ALB Ingress, mengalihkan lalu lintas DNS, dan menghapus SLB Ingress.

Latar Belakang

SLB memiliki kemampuan Lapisan 7 yang terbatas—tidak mendukung fitur seperti penulisan ulang header HTTP, pengalihan (redirection), penulisan ulang URL, atau pembatasan laju (rate limiting), serta memerlukan manajemen spesifikasi instans secara manual. ALB Ingress merupakan gerbang Lapisan 7 dengan kemampuan manajemen lalu lintas Ingress yang lebih kuat.

ALB Ingress menggunakan Alibaba Cloud Application Load Balancer (ALB). ALB mendukung routing berbasis header dan cookie, penemuan sertifikat otomatis, protokol HTTP, HTTPS, dan QUIC, serta menangani lalu lintas Lapisan 7 untuk aplikasi cloud-native secara lebih efektif. Lihat Pengenalan keluarga produk SLB untuk perbandingan fitur antara ALB dan SLB.

Proses migrasi

Contoh migrasi

Contoh ini menggunakan resource Ingress yang titik akhirnya di-resolve ke 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 untuk melihat Welcome to nginx!.

Langkah 1: Buat ALB Ingress

  1. Instal add-on ALB Ingress Controller sesuai petunjuk di Mengelola controller ALB Ingress.

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

  3. Buat AlbConfig:

    1. Buat albconfig.yaml dengan konten berikut:

      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. Tentukan minimal dua vSwitch di zona berbeda dalam VPC yang sama dengan kluster Anda.

    2. Buat AlbConfig:

      kubectl apply -f albconfig.yaml
    3. Verifikasi bahwa 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. Buat ingressclass.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: alb-demo

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

    2. Buat IngressClass:

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

    1. Buat albingress.yaml dengan konten berikut:

      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. Harus berbeda dari nama SLB Ingress.

      • ingressClassName: Nama IngressClass.

    2. Buat ALB Ingress:

      kubectl apply -f albingress.yaml
    3. Dapatkan 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, misalnya alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com.

    4. Akses 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: Alihkan trafik ke ALB Ingress

Perbarui rekaman DNS untuk demo.ingress.vip agar mengarah ke titik akhir ALB, bukan titik akhir SLB, sehingga lalu lintas dialihkan 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 target lalu klik Modify pada kolom Actions.

  4. Di kotak dialog Modify Record, atur Record Value ke titik akhir ALB Ingress (misalnya, alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com), lalu klik OK.

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

    Browser menampilkan Welcome to nginx!, yang mengonfirmasi bahwa Nginx dapat diakses melalui ALB Ingress dan proses peralihan dari SLB Ingress ke ALB Ingress berhasil.

Langkah 3: Hapus SLB Ingress

  1. Hapus SLB Ingress:

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

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

    3. Di kotak dialog, klik OK.

  2. Uninstal add-on SLB Ingress Controller:

    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, buka tab Others, temukan SLB Ingress controller, lalu klik Uninstall.

    4. Di kotak dialog, klik OK.

FAQ

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

Tidak. Migrasi in-place tidak didukung karena ALB dan SLB merupakan jenis load balancer yang berbeda.