All Products
Search
Document Center

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

Last Updated:Mar 27, 2026

Server Load Balancer (SLB) Ingress telah dihentikan pada 28 Februari 2023. Container Service for Kubernetes (ACK) Serverless tidak lagi memberikan dukungan teknis untuk SLB Ingress setelah tanggal tersebut, dan Anda tidak dapat menginstal atau mengelola controller SLB Ingress di kluster ACK Serverless. Topik ini menjelaskan cara melakukan migrasi SLB Ingress yang sudah ada ke Application Load Balancer (ALB) Ingress.

Penting

Migrasi lancar (peralihan tanpa downtime) dari SLB Ingress ke ALB Ingress tidak didukung karena kedua jenis Ingress tersebut menggunakan implementasi dasar yang berbeda.

Mengapa bermigrasi ke ALB Ingress

SLB menyediakan kemampuan Lapisan 7 yang terbatas. SLB tidak mendukung penulisan ulang HTTP (HTTP rewrites), pengalihan (redirects), penggantian (overwrites), atau pembatasan kecepatan (throttling), dan Anda harus mengatur spesifikasi instans secara manual. ALB Ingress mengatasi keterbatasan tersebut:

  • Aturan routing kompleks berdasarkan Header HTTP atau cookie

  • Penemuan sertifikat SSL/TLS secara otomatis

  • Dukungan protokol HTTP, HTTPS, dan Quick UDP Internet Connections (QUIC)

Untuk informasi lebih lanjut mengenai perbandingan antara ALB dan SLB, lihat Apa itu SLB?

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

Ikhtisar migrasi

Migration overview diagram

Migrasi terdiri dari tiga tahap:

  1. Buat ALB Ingress bersamaan dengan SLB Ingress yang sudah ada dan verifikasi bahwa ALB Ingress berfungsi.

  2. Alihkan DNS agar mengarah ke titik akhir ALB Ingress.

  3. Hapus SLB Ingress dan uninstal controller SLB Ingress.

Contoh migrasi

Contoh berikut melakukan migrasi SLB Ingress yang mengarahkan traffic untuk domain demo.ingress.vip ke layanan nginx.

Perbedaan utama antara manifes kedua Ingress adalah ingressClassName: ubah slb menjadi alb. ALB Ingress harus memiliki nama yang berbeda dari SLB Ingress. Sebelum menerapkan manifes ALB Ingress, Anda harus membuat resource AlbConfig dan IngressClass seperti yang dijelaskan pada Langkah 1.

Sebelum (SLB Ingress):

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

Sesudah (ALB Ingress):

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

Langkah 1: Buat ALB Ingress

  1. Instal controller ALB Ingress. Lihat Kelola controller ALB Ingress.

  2. Buat AlbConfig untuk menyediakan instans ALB.

    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

      Ganti nilai vSwitchId dengan ID vSwitch Anda. Anda harus menentukan setidaknya dua vSwitch di zona ketersediaan yang berbeda, dan keduanya harus berada dalam VPC yang sama dengan kluster Anda.

    2. Terapkan manifes:

      kubectl apply -f albconfig.yaml
    3. Verifikasi bahwa instans ALB telah dibuat:

      kubectl get albconfig alb-demo

      Output akan tampak seperti berikut:

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

      Catat nilai DNSNAME — Anda akan menggunakannya sebagai titik akhir ALB Ingress pada Langkah 2. Jika ALBID masih kosong setelah beberapa menit, periksa log controller ALB Ingress untuk menemukan error provisioning. Untuk panduan troubleshooting, lihat Kelola controller ALB Ingress.

  3. Buat IngressClass untuk menghubungkan resource Ingress ke AlbConfig.

    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 harus sesuai dengan nama AlbConfig (alb-demo dalam contoh ini).

    2. Terapkan manifes:

      kubectl apply -f ingressclass.yaml
  4. 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 harus berbeda dari nama SLB Ingress yang sudah ada. ingressClassName harus sesuai dengan nama IngressClass (alb).

    2. Terapkan manifes:

      kubectl apply -f albingress.yaml
    3. Verifikasi titik akhir ALB Ingress:

      kubectl get ing

      Output akan tampak seperti berikut:

      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      46s

      Catat ADDRESS dari demo-ingress-alb — ini adalah titik akhir ALB Ingress.

    4. Konfirmasi bahwa traffic mencapai aplikasi Anda melalui ALB Ingress:

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

      Output yang diharapkan (disingkat):

      <!DOCTYPE html>
      <html>
      <head>
      <title>Welcome to nginx!</title>
      ...

Langkah 2: Alihkan DNS ke ALB Ingress

Perbarui rekaman DNS untuk domain Anda agar mengarah ke titik akhir ALB Ingress, menggantikan titik akhir SLB Ingress dengan titik akhir ALB Ingress.

  1. Masuk ke Konsol DNS Alibaba Cloud.

  2. Pada halaman Domain Name Resolution, klik nama domain di kolom Authoritative Domain Names.

  3. Pada halaman DNS Settings, klik Modify di kolom Actions.

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

  5. Verifikasi bahwa domain tersebut mengarah ke ALB Ingress. Buka demo.ingress.vip di browser — Welcome to nginx! seharusnya muncul.

    Nginx welcome page

Langkah 3: Hapus SLB Ingress dan uninstal controller

Setelah memastikan bahwa traffic mengalir melalui ALB Ingress, hapus SLB Ingress dan controller-nya.

  1. Hapus SLB Ingress.

    1. Pada panel navigasi kiri halaman detail kluster, pilih Network > Ingresses.

    2. Di bagian atas halaman Ingresses, pilih namespace yang berisi SLB Ingress. Temukan SLB Ingress tersebut dan pilih More > Delete di kolom Actions.

    3. Klik OK untuk mengonfirmasi.

  2. Uninstal controller SLB Ingress.

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

    2. Pada halaman Clusters, klik nama kluster Anda. Di panel kiri, pilih Operations > Add-ons.

    3. Pada halaman Add-ons, klik tab Others. Temukan SLB Ingress Controller dan klik Uninstall.

    4. Klik OK untuk mengonfirmasi.

Langkah selanjutnya