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.
Masukkan demo.ingress.vip di bilah alamat browser Anda untuk melihat Welcome to nginx!.
Langkah 1: Buat ALB Ingress
-
Instal add-on ALB Ingress Controller sesuai petunjuk di Mengelola controller ALB Ingress.
-
Dapatkan file kubeconfig kluster dan gunakan kubectl untuk terhubung ke kluster.
-
Buat AlbConfig:
-
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: HTTPzoneMappings: ID vSwitch untuk ALB Ingress. Tentukan minimal dua vSwitch di zona berbeda dalam VPC yang sama dengan kluster Anda.
-
Buat AlbConfig:
kubectl apply -f albconfig.yaml -
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
-
-
Buat IngressClass:
-
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-demoparameters.name: Nama
AlbConfigyang akan di-bind. -
Buat IngressClass:
kubectl apply -f ingressclass.yaml
-
-
Buat ALB Ingress:
-
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.
-
-
Buat ALB Ingress:
kubectl apply -f albingress.yaml -
Dapatkan titik akhir ALB Ingress:
kubectl get ingOutput 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 46sCatat titik akhir ALB Ingress dari output tersebut, misalnya
alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com. -
Akses aplikasi Nginx melalui ALB Ingress:
curl -H "Host: demo.ingress.vip" http://alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.comOutput 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.
-
Masuk ke Konsol DNS Alibaba Cloud.
-
Di halaman Configure domain name, klik nama domain di tab All Zone Names.
-
Di halaman Settings, temukan rekaman DNS target lalu klik Modify pada kolom Actions.
-
Di kotak dialog Modify Record, atur Record Value ke titik akhir ALB Ingress (misalnya,
alb-eeee6gtqbmrm1****.cn-shenzhen.alb.aliyuncs.com), lalu klik OK. -
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
-
Hapus SLB Ingress:
Di panel navigasi kiri halaman manajemen kluster, pilih .
-
Di halaman Ingresses, pilih Namespace yang sesuai, temukan SLB Ingress, lalu pilih di kolom Actions.
-
Di kotak dialog, klik OK.
-
Uninstal add-on SLB Ingress Controller:
-
Masuk ke Konsol ACK. Di panel navigasi kiri, klik Clusters.
-
Di halaman Clusters, klik nama kluster Anda. Di panel navigasi kiri, klik Add-ons .
-
Di halaman Add-ons, buka tab Others, temukan SLB Ingress controller, lalu klik Uninstall.
-
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.