全部产品
Search
文档中心

Container Service for Kubernetes:Pemutakhiran ack-ingress-nginx yang dipasang di halaman Marketplace di konsol ACK

更新时间:Jun 26, 2025

Topik ini menjelaskan cara memperbarui ack-ingress-nginx yang dipasang di halaman Marketplace konsol Container Service for Kubernetes (ACK).

Informasi latar belakang

Ingress API v1beta1 sudah tidak digunakan lagi di Kubernetes 1.24. Jika NGINX Ingress controller 0.44.0 dipasang oleh ack-ingress-nginx, pengontrol tersebut menggunakan Ingress API v1beta1. Dalam kasus ini, NGINX Ingress controller tidak dapat berjalan seperti yang diharapkan setelah Anda memperbarui versi Kubernetes kluster ke 1.24.

NGINX Ingress controller 1.1.0 dan yang lebih baru diterapkan oleh ack-ingress-nginx-v1. Untuk memastikan bahwa NGINX Ingress controller dapat berjalan seperti yang diharapkan, kami menyarankan Anda mengganti ack-ingress-nginx dengan ack-ingress-nginx-v1.

Catatan

Topik ini tidak berlaku untuk NGINX Ingress controller yang diterapkan dari halaman Add-ons di konsol ACK. Untuk informasi lebih lanjut tentang cara mengelola NGINX Ingress controller yang diterapkan dari halaman Add-ons, lihat Perbarui NGINX Ingress Controller.

Prasyarat

  • Kluster ACK yang menjalankan Kubernetes 1.20 atau yang lebih baru telah dibuat.

Catatan

Anda hanya dapat memilih versi bagan 4.0.17 atau yang lebih baru (ack-ingress-nginx-v1 1.8.0-aliyun.1 atau yang lebih baru) jika kluster ACK Anda menjalankan Kubernetes 1.22 atau yang lebih baru. Jika kluster ACK Anda menjalankan Kubernetes 1.20, pilih versi bagan 4.0.16 (ack-ingress-nginx-v1 1.2.1-aliyun.1).

  • ack-ingress-nginx dipasang di kluster dari halaman Marketplace di konsol ACK.

Langkah 1: Pasang ack-ingress-nginx-v1

Pasang ack-ingress-nginx-v1 dari halaman Marketplace di konsol ACK

Pasang ack-ingress-nginx-v1 untuk setiap NGINX Ingress controller yang diterapkan dengan memasang ack-ingress-nginx. Untuk informasi lebih lanjut, lihat Terapkan Beberapa Ingress Controller dalam Sebuah Kluster.

Catatan

Jangan atur nilai parameter controller.ingressClassResource.name di ack-ingress-nginx-v1 menjadi nilai parameter controller.ingressClass di ack-ingress-nginx. Jika tidak, NGINX Ingress controller mungkin tidak berjalan seperti yang diharapkan karena konflik kelas Ingress.

(Opsional) Ubah spesifikasi dan parameter SLB

Jika Anda telah mengubah spesifikasi atau parameter Server Load Balancer (SLB) di ack-ingress-nginx, Anda mungkin ingin memigrasikan perubahan tersebut ke ack-ingress-nginx-v1. Untuk melakukannya, konfigurasikan anotasi controller.service (untuk instance SLB yang menghadap internet) atau anotasi controller.service.internal (untuk instance SLB akses internal) di ack-ingress-nginx-v1 untuk mengonfigurasi Layanan LoadBalancer. Untuk informasi lebih lanjut tentang cara mengonfigurasi anotasi Layanan, lihat Gunakan Anotasi untuk Mengonfigurasi Instance CLB dan Gunakan Anotasi untuk Mengonfigurasi Instance NLB.

Langkah 2: Buat Ingress baru dan uji apakah ack-ingress-nginx-v1 dapat merutekan lalu lintas seperti yang diharapkan

Setelah Anda memasang ack-ingress-nginx-v1, buat Ingress baru berdasarkan konfigurasi Ingress asli. Ubah kelas Ingress yang ditentukan dalam Ingress. Contoh Ingress asli:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: test-ingress
  namespace: default
  annotations:
    kubernetes.io/ingress.class: nginx-intranet # Kelas Ingress yang ditentukan dalam Ingress 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 Ingress baru.

  • Jika kelas Ingress ditentukan dengan menggunakan anotasi, Anda perlu mengubah nama kelas Ingress, tetapi jangan ubah anotasi lainnya.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: test-ingress-v1 # Buat Ingress baru.
      namespace: default
      annotations:
        kubernetes.io/ingress.class: nginx-intranet-v1 # Ubah nama kelas Ingress menjadi nama kelas Ingress yang digunakan oleh nginx-intranet-v1. Dalam contoh ini, nama kelas Ingress adalah 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 kelas Ingress ditentukan dengan menggunakan parameter spec.ingressClassName, ulangi langkah-langkah sebelumnya untuk membuat Ingress baru dan ubah nilai parameter spec.ingressClassName di Ingress baru.

Setelah Anda membuat Ingress baru, Anda dapat mengonfigurasi file hosts untuk memetakan nama domain ke alamat IP instance Classic Load Balancer (CLB) baru. Kemudian, uji apakah ack-ingress-nginx-v1 dapat merutekan lalu lintas seperti yang diharapkan.

Langkah 3: Alihkan lalu lintas ke ack-ingress-nginx-v1

Setelah Anda memastikan bahwa ack-ingress-nginx-v1 dapat merutekan lalu lintas seperti yang diharapkan, ubah pengaturan resolusi DNS untuk mengalihkan lalu lintas ke ack-ingress-nginx-v1.

Masuk ke Konsol Alibaba Cloud DNS atau konsol tempat Anda dapat mengonfigurasi pengaturan resolusi untuk nama domain yang Anda gunakan dan petakan nama domain ke alamat IP instance CLB baru. Perubahan pada pengaturan resolusi DNS akan berlaku setelah beberapa waktu. Kami menyarankan Anda memantau bisnis Anda selama periode ini untuk menghindari kesalahan. Anda dapat melihat log kontainer dan data deret waktu untuk memantau kemajuan pergantian.

Apa yang harus dilakukan selanjutnya

Setelah Anda memastikan bahwa lalu lintas sepenuhnya dialihkan ke ack-ingress-nginx-v1 dan bisnis Anda dapat diakses seperti yang diharapkan, hapus instalasi ack-ingress-nginx. Masuk ke Konsol ACK. Pilih kluster Anda dan masuk ke halaman detail kluster. Di panel navigasi di sebelah kiri, pilih Applications > Helm. Temukan Helm release yang bernama ack-ingress-nginx dan klik Delete di kolom Tindakan.