Menggunakan pengontrol Ingress kustom


Halaman ini menjelaskan cara menggunakan pengontrol Ingress kustom dengan Google Kubernetes Engine (GKE).

Gunakan pengontrol Ingress kustom dengan add-on HttpLoadBalancing yang diaktifkan

Anda dapat menjalankan pengontrol Ingress kustom, seperti nginx-ingress, dengan menonaktifkan add-on HttpLoadBalancing. Tindakan ini mencegah pengontrol Ingress GKE memproses resource Ingress.

Jika Anda ingin menjalankan pengontrol Ingress kustom dengan add-on HttpLoadBalancing diaktifkan, misalnya untuk menggunakan fitur seperti subsetelan dan Private Service Connect, Anda dapat menggunakan salah satu pendekatan berikut:

Anda harus memastikan bahwa spec.ingressClassName tidak ditimpa secara tidak sengaja oleh proses apa pun. Operasi update yang mengubah spec.IngressClassName dari nilai yang valid menjadi string kosong ("") akan menyebabkan pengontrol Ingress GKE memproses Ingress.

Mengonfigurasi kolom ingressClassName

Anda dapat menggunakan pengontrol Ingress kustom dengan menetapkan kolom ingressClassName dalam manifes Ingress. Manifes berikut menjelaskan Ingress yang menentukan pengontrol Ingress nginx:

apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
 name: cafe-ingress
spec:
 ingressClassName: nginx
 tls:
 - hosts:
   - cafe.example.com
   secretName: cafe-secret
 rules:
 - host: cafe.example.com

Konfigurasi ini didukung dengan API v1beta1 Ingress di GKE versi 1.18 hingga 1.21, dan API v1 Ingress di GKE versi 1.19 dan yang lebih baru.

Mengonfigurasi class Ingress default

Anda dapat mengonfigurasi class Ingress default untuk semua resource Ingress dalam cluster dengan membuat resource IngressClass dengan ingressclass.kubernetes.io/is-default-class anotasi yang disetel ke true:

apiVersion: networking.k8s.io/v1
kind: IngressClass
metadata:
  name: nginx-public
  annotations:
    ingressclass.kubernetes.io/is-default-class: "true"
spec:
  controller: k8s.io/ingress-nginx

Konfigurasi ini tersedia untuk cluster yang menjalankan GKE versi 1.19 dan yang lebih baru.

Ringkasan perilaku pengontrol Ingress GKE

Untuk cluster yang menjalankan GKE versi 1.18 dan yang lebih baru, baik pengontrol Ingress GKE memproses Ingress atau tidak, bergantung pada nilai anotasi kubernetes.io/ingress.class dan kolom ingressClassName dalam manifes Ingress. Untuk informasi selengkapnya, lihat Perilaku pengontrol Ingress GKE.

Langkah selanjutnya