1. Home
  2. Docs
  3. Self-hosted Server
  4. Kubernetes
  5. Cara Install INGRESS Controller dengan NGINX di Kubernetes

Cara Install INGRESS Controller dengan NGINX di Kubernetes

Ingress Controller adalah sebuah komponen dalam sistem manajemen kontainer yang berfungsi sebagai gateway untuk mengelola akses masuk (ingress) ke dalam kluster Kubernetes. Contoh Ingress Controller yang populer adalah Nginx Ingress Controller, Traefik, dan HAProxy Ingress.

Fungsi Umum INGRESS Controller

  1. Routing dan Load Balancing: Ingress Controller dapat melakukan routing berdasarkan rules tertentu, seperti path atau nama domain, untuk mengarahkan request HTTP/S ke service di dalam kluster. Dan juga berfungsi sebagai load balancing untuk mendistribusikan trafik secara merata di antara beberapa instance service.
  2. SSL/TLS Termination: Ingress Controller juga dapat menangani terminasi SSL/TLS, mengenkripsi dan mendekripsi trafik yang melewati kluster.
  3. Virtual Host Routing: Memungkinkan konfigurasi untuk beberapa domain atau host virtual dalam satu kluster, sehingga beberapa aplikasi dapat diakses dengan menggunakan satu alamat IP eksternal.
  4. Authentication dan Authorization: Beberapa Ingress Controller mendukung mekanisme otentikasi (authentication) dan otorisasi (authorization) untuk mengamankan akses ke aplikasi yang berjalan di dalam kluster.
  5. Rewrites dan Redirections: Memungkinkan konfigurasi aturan untuk rewrites URL atau melakukan redirection.
  1. Cara Install Helm Packages Manager Kubernetes.
  2. Cara Install LoadBalancer dengan MetalLB di Kubernetes.
  3. Cara Install INGRESS Controller dengan NGINX di Kubernetes. << you are in here
  4. Cara Setting StorageClass dengan LONGHORN di Kubernetes.
  5. Cara Deploy Manifest Aplikasi di Kubernetes.
  6. Cara Setting Let’s Encrypt SSL dengan CERT MANAGER di Kubernetes.

Install NGINX Ingress dengan HELM

Pertama, kita tambahkan repo:

$ helm repo add nginx-stable https://helm.nginx.com/stable

Install nginx ingress controller dengan perintah:

$ helm install nginx-ingress nginx-stable/nginx-ingress -n ingress-system --create-namespace --set controller.setAsDefaultIngress=true --debug 

NGINX Ingress saya install di dalam namespace ingress-system.

Verifikasi Instalasi

Cek apakah service nginx ingress controller sudah running:

$ kubectl -n ingress-system get all
NAME                                           READY   STATUS    RESTARTS   AGE
pod/nginx-ingress-controller-7fcf59865-2dqrk   1/1     Running   0          10m

NAME                               TYPE           CLUSTER-IP    EXTERNAL-IP      PORT(S)                      AGE
service/nginx-ingress-controller   LoadBalancer   10.43.39.58   192.168.99.201   80:31166/TCP,443:31731/TCP   10m

NAME                                       READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/nginx-ingress-controller   1/1     1            1           10m

NAME                                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/nginx-ingress-controller-7fcf59865   1         1         1       10m

Tampilan outputnya akan seperti diatas.

Tags ,

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *