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:
- Dalam manifes Ingress, tetapkan
anotasi
kubernetes.io/ingress.class
. Konfigurasi ini didukung untuk cluster yang menjalankan semua versi GKE. - Konfigurasikan kolom
ingressClassName
. - Mengonfigurasi class Ingress default
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
- Pelajari load balancing di Google Cloud lebih lanjut.
- Pelajari cara mengonfigurasi Ingress untuk Load Balancer Aplikasi internal.
- Pelajari cara mengonfigurasi Ingress untuk Load Balancer Aplikasi eksternal.
- Mengimplementasikan Ingress GKE menggunakan Ingress NGNIX.