Pasang HTTPS pada traefik ingress controller

Yudi Yuswita Sunarto
2 min readNov 16, 2021

--

Photo by Robert Anasch on Unsplash

Dunia kubernetes memang selalu menjadi sumber pengetahuan baru, terutama bagi saya pribadi. Kubernetes sendiri sebenarnya memiliki banyak ingress controller yang berfungsi untuk mengarahkan user yang mengakses domain kepada service yang sudah kita tentukan. Nah pada kesempatan kali ini saya akan coba membuat langkah, bagaimana cara membuat traefik ingress controller menjadi HTTPS dengan menggunakan cert-manager.

Hal yang dibutuhkan untuk bisa membuat HTTPS pada ingress traefik kubernetes adalah

  1. helm (untuk deploy cert-manager)
  2. cert-manager (untuk membuat https)
  3. traefik ingress controller

Langkah:

  • Install helm terlebih dahulu, untuk lengkapnya bisa klik [disini]
  • Install traefik ingress controller

Sesuai dengan pembahasan kali ini saya menggunakan ingress traefik controller untuk mengarahkan domain. Install menggunakan langkah berikut

helm repo add traefik https://containous.github.io/traefik-helm-chart
helm repo update

helm install traefiktraefik/traefik

Traefik bisa diinstall di namespace tertentu, jika ingin dibedakan. Jadi perlu buat namespace dulu dengan perintah kubectl create namespace nama_namespace, dan install helm dengan menambah paramater —-namespace nama_namespace

Setelah traefik terinstall, coba cek service traefik sudah berjalan atau belum menggunakan perintah berikut

kubectl get svc

Pastikan terdapat service dengan nama traefik dan type LoadBalancer, pada kasus kali ini saya menggunakan Digital Ocean. Dari service traefik tersebut akan membuat sebuah load balancer pada digital ocean dan mendapatkan ip publik, dan ip tersebut yang akan digunakan untuk diarahkan menjadi domain. Kita bisa mengatur pada domain managemen yang familiar, contoh bisa menggunakan CloudFlare.

  • Arahkan nama domain ke ip load balancer

Seperti yang sudah saya singgung tadi, bahwa agar traefik ingress controller bisa bekerja. Ip load balancer sudah harus diarahkan ke nama domain yang akan dibuat menjadi HTTPS

  • install cert-manager menggunakan helm

Cert-manager nanti akan berfungsi untuk generate certificate yang nantinya akan digunakan oleh traefik ingress

Utuk menginstall cert-manager gunakan perintah berikut ini

kubectl create namespace cert-managerhelm repo add jetstack https://charts.jetstack.iohelm repo updatehelm install cert-manager jetstack/cert-manager --namespace cert-manager

Pastikan cert-manager sudah terinstall dengan benar, periksa menggunakan perintah berikut

kubectl get pods --namespace cert-manager

Buat certificate yang akan digunakan untuk mencoba https, kali ini kita bedakan menjadi 2. Pertama yaitu staging, untuk mencoba apakah sudah sesuai atau belum. Kedua yaitu production, yang nantinya akan kita gunakan ketika proses yang staging sudah selesai.

Lanjut nanti gan

--

--

Yudi Yuswita Sunarto
Yudi Yuswita Sunarto

Written by Yudi Yuswita Sunarto

Humanity is human ~ DevOps Engineer at Atmatech Personal website visit: https://yuswitayudi.github.io

No responses yet