All Products
Search
Document Center

Container Service for Kubernetes:Deploy the NGINX Ingress controller

Last Updated:Mar 26, 2026

Dalam skenario kolaborasi cloud-edge, layanan unit edge harus menangani lalu lintas secara lokal di dalam kelompok nodenya sendiri, bukan mengarahkannya melalui cloud. Deploy ack-ingress-nginx-v1 secara terpisah di kelompok node cloud dan kelompok node edge sehingga masing-masing memiliki Ingress controller-nya sendiri dan menangani lalu lintas secara independen.

Prasyarat

Sebelum memulai, pastikan Anda telah memiliki:

  • Kluster ACK Edge yang menjalankan Kubernetes 1.19 atau versi lebih baru

  • Akses ke Konsol ACK

  • ID kelompok node untuk kelompok node cloud dan edge yang ingin ditargetkan

Untuk menemukan ID kelompok node, buka halaman detail kluster di Konsol ACK, lalu pilih Nodes > Node Pools pada panel navigasi kiri.

Catatan penggunaan

  • Anda dapat melakukan deploy ack-ingress-nginx-v1 beberapa kali dalam kluster ACK Edge yang sama. Berikan nama release unik untuk setiap deployment dan gunakan namespace terpisah per deployment untuk mengisolasi operasi.

  • Jika Anda menggunakan pengaturan default untuk deployment pertama, ack-ingress-nginx-v1 akan dideploy di kelompok node default kluster.

Cara kerja

Setiap deployment ack-ingress-nginx-v1 menargetkan satu kelompok node tunggal, yang diidentifikasi oleh ID kelompok node yang ditetapkan pada parameter nodeSelector. Deploy controller ini sekali di kelompok node cloud dan sekali di kelompok node edge agar masing-masing mengarahkan lalu lintas secara lokal.

Untuk kelompok node edge, menyetel global.edgeNodePool ke true akan membuat dua perubahan otomatis:

  • Tipe Service berubah dari LoadBalancer menjadi NodePort, karena node edge tidak memiliki akses ke infrastruktur load balancer cloud.

  • NGINX Ingress controller menggunakan alamat gambar kontainer publik, sehingga mencegah kegagalan pull saat kluster tidak dapat mengakses registry gambar privat Alibaba Cloud.

Untuk mengekspos aplikasi edge ke internet publik setelah deployment, konfigurasikan load balancer dengan Alamat IP publik secara terpisah.

Deploy the NGINX Ingress controller

Deploy ack-ingress-nginx-v1 dari ACK Marketplace sekali untuk setiap kelompok node target. Gunakan nama release unik dan nilai ingressClassResource unik untuk setiap deployment guna menghindari konflik dalam kluster yang sama.

Deploy in a cloud node pool

  1. Login ke Konsol ACK. Pada panel navigasi kiri, pilih Marketplace > Marketplace.

  2. Pada tab App Catalog, temukan dan klik ack-ingress-nginx-v1.

  3. Pada halaman ack-ingress-nginx-v1, klik Deploy di pojok kanan atas.

  4. Pada wizard Deploy, atur Cluster, Namespace, dan Release Name. Gunakan format ack-ingress-nginx-v1-{node pool name} untuk nama release. Contohnya: ack-ingress-nginx-v1-cloud-hangzhou.

  5. Klik Next untuk membuka halaman Parameters, lalu konfigurasikan hal berikut:

    • Pada parameter nodeSelector, tambahkan label alibabacloud.com/nodepool-id: {Node pool ID}. Ini adalah satu-satunya label yang diperlukan. label

    • Pada parameter ingressClassResource, atur name dan controllerValue ke nilai unik agar beberapa deployment dalam kluster yang sama tidak saling bertabrakan: para

      • name: gunakan format ack-nginx-{node pool name}. Contohnya: ack-nginx-cloud-hangzhou.

      • controllerValue: gunakan format "k8s.io/ack-ingress-nginx-{node pool name}". Contohnya: "k8s.io/ack-ingress-nginx-cloud-hangzhou".

  6. Klik OK.

Deploy in an edge node pool

  1. Login ke Konsol ACK. Pada panel navigasi kiri, pilih Marketplace > Marketplace.

  2. Pada tab App Catalog, temukan dan klik ack-ingress-nginx-v1.

  3. Pada halaman ack-ingress-nginx-v1, klik Deploy di pojok kanan atas.

  4. Pada wizard Deploy, atur Cluster, Namespace, dan Release Name. Gunakan format ack-ingress-nginx-v1-{node pool name} untuk nama release. Contohnya: ack-ingress-nginx-v1-edge-hangzhou.

  5. Klik Next untuk membuka halaman Parameters, lalu konfigurasikan hal berikut:

    • Pada parameter nodeSelector, tambahkan label alibabacloud.com/nodepool-id: {edge node pool ID}. Ini adalah satu-satunya label yang diperlukan. label

    • Atur global.edgeNodePool ke true. Node edge tidak dapat menggunakan layanan LoadBalancer karena infrastruktur load balancer cloud tidak tersedia di edge. Menyetel parameter ini mengubah tipe Service menjadi NodePort dan mengonfigurasi alamat gambar kontainer publik untuk controller. Untuk mengekspos aplikasi edge ke internet publik setelah deployment, konfigurasikan load balancer dengan Alamat IP publik. shezhi

    • Pada parameter ingressClassResource, atur name dan controllerValue ke nilai unik: para

      • name: gunakan format ack-nginx-{node pool name}. Contohnya: ack-nginx-edge-hangzhou.

      • controllerValue: gunakan format "k8s.io/ack-ingress-nginx-{node pool name}". Contohnya: "k8s.io/ack-ingress-nginx-edge-hangzhou".

  6. Klik OK.

Verifikasi deployment

Setelah deployment selesai, pastikan NGINX Ingress controller berjalan di kelompok node target.

Pada panel navigasi kiri halaman detail kluster, pilih Applications > Helm. Pastikan rilis Helm yang Anda buat muncul dalam daftar.