All Products
Search
Document Center

Container Service for Kubernetes:Upgrade ack-ingress-nginx dari Marketplace

Last Updated:Jun 18, 2026

Ganti ack-ingress-nginx dengan ack-ingress-nginx-v1 untuk mendukung Kubernetes 1.24 dan versi setelahnya.

Latar Belakang

Kubernetes 1.24 di ACK menghentikan penggunaan resource Ingress v1beta1. ack-ingress-nginx menginstal Nginx Ingress Controller versi 0.44.0, yang masih menggunakan v1beta1. Setelah upgrade ke Kubernetes 1.24, controller ini menjadi tidak tersedia.

ack-ingress-nginx-v1 menggunakan Nginx Ingress Controller ≥ 1.1.0. Gantilah ack-ingress-nginx dengan ack-ingress-nginx-v1 agar controller tetap berjalan.

Catatan

Hal ini tidak berlaku untuk Nginx Ingress Controller yang dikelola melalui Component Management. Untuk meng-upgrade komponen tersebut, lihat Upgrade komponen Nginx Ingress Controller.

Prasyarat

  • Versi kluster adalah 1.20 atau lebih baru.

    Catatan

    Chart ack-ingress-nginx-v1 versi 4.0.17+ (komponen v1.8.0-aliyun.1+) memerlukan versi kluster 1.22 atau lebih baru. Untuk kluster versi 1.20, gunakan Chart 4.0.16 (komponen v1.2.1-aliyun.1).

  • ack-ingress-nginx diinstal dari Marketplace.

Langkah 1: Buat aplikasi ack-ingress-nginx-v1

Buat aplikasi ack-ingress-nginx-v1 dari Marketplace

Untuk setiap aplikasi ack-ingress-nginx, deploy aplikasi ack-ingress-nginx-v1 yang sesuai seperti dijelaskan dalam Deploy multiple Ingress Controllers to isolate traffic.

Catatan

Jangan mengatur controller.ingressClassResource.name di ack-ingress-nginx-v1 ke nilai yang sama dengan controller.ingressClass di ack-ingress-nginx. Kelas Ingress yang bertabrakan dapat menyebabkan masalah stabilitas pada controller.

(Opsional) Sesuaikan spesifikasi dan parameter SLB

Jika sebelumnya Anda telah menyesuaikan spesifikasi atau parameter Server Load Balancer (SLB) untuk ack-ingress-nginx, terapkan penyesuaian yang sama pada ack-ingress-nginx-v1. Konfigurasikan Service menggunakan Anotasi controller.service (jaringan publik) atau controller.service.internal (jaringan pribadi). Lihat Configure Classic Load Balancer (CLB) using Annotations untuk CLB atau Configure Network Load Balancer (NLB) using Annotations untuk NLB.

Langkah 2: Buat dan validasi aturan routing Ingress

Salin aturan routing Ingress yang sudah ada, perbarui Ingress Class-nya, lalu terapkan agar trafik tidak terganggu. Contohnya:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx-intranet # Ingress Class asli adalah nginx-intranet.
spec:
  rules:
  - host: test-ingress.com
    http:
      paths:
      - path: /foo
        backend:
          service:
            name: web1-service
            port:
              number: 8080
        pathType: ImplementationSpecific
      - path: /bar
        backend:
          service:
            name: web1-service
            port:
              number: 8080
        pathType: ImplementationSpecific

Buat aturan routing Ingress baru.

  • Jika menggunakan Anotasi, ubah hanya nama Ingress Class-nya. Pertahankan semua konfigurasi lainnya tanpa perubahan.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: test-ingress-v1 # Buat resource Ingress baru.
      namespace: default
      annotations:
        kubernetes.io/ingress.class: nginx-intranet-v1 # Ubah ke Ingress Class yang digunakan oleh ack-ingress-nginx-v1, misalnya nginx-intranet-v1.
    spec:
      rules:
      - host: test-ingress.com
        http:
          paths:
          - path: /foo
            backend:
              service:
                name: web1-service
                port:
                  number: 8080
            pathType: ImplementationSpecific
          - path: /bar
            backend:
              service:
                name: web1-service
                port:
                  number: 8080
            pathType: ImplementationSpecific
  • Jika Anda menggunakan spec.ingressClassName alih-alih Anotasi, buat aturan Ingress baru dan perbarui nama Ingress Class di spec.ingressClassName.

Setelah membuat aturan Ingress baru, lakukan validasi dengan memperbarui file hosts lokal Anda agar nama domain di-resolve ke alamat IP CLB yang baru.

Langkah 3: Migrasi trafik

Setelah memvalidasi aturan routing Ingress yang baru, migrasikan trafik ke ack-ingress-nginx-v1 dengan memperbarui rekaman DNS.

Masuk ke Konsol Alibaba Cloud DNS atau konsol DNS penyedia domain Anda. Perbarui rekaman DNS agar mengarah ke alamat IP yang baru. Pantau aplikasi Anda selama propagasi DNS dan lakukan rollback jika diperlukan. Gunakan log kontainer atau Metrics untuk melacak progres migrasi.

Langkah selanjutnya

Setelah seluruh trafik berhasil dimigrasikan dan operasi normal telah dikonfirmasi, hapus aplikasi ack-ingress-nginx asli. Masuk ke Container Service for Kubernetes console. Pilih kluster Anda, pilih Applications > Helm, temukan release tersebut, lalu klik Delete.