Expose Service Menggunakan Istio Ingress Gateway dengan TLS

Gilang Virga Perdana
2 min readFeb 3, 2022

--

Halo teman teman, kali ini saya akan sedikit eksplorasi memasang TLS pada Istio Ingress Gateway. Yup, menggunakan Istio sebagai Ingress Gateway nya, Istio Ingress Gateway ini mungkin mirip dengan saudara saudara nya seperti Nginx Ingress Gateway,dsb. Tanpa berlama lama langsung saja kita ke praktiknya.

Environment :

1. Kubernetes Cluster

2. Istio

3. Some Project Web

Practic :

1. Siapkan Project :

Kita bisa gunakan project web dari Istio yaitu BookInfo. Bisa clone dari https://gitlab.com/gilangvperdana/microservices-app-on-k-8-s-with-istio.git

$ git clone https://gitlab.com/gilangvperdana/microservices-app-on-k-8-s-with-istio.git

2. Deploy Aplikasi :

Kalian bisa ikuti Dokumentasi yang tertera pada https://gitlab.com/gilangvperdana/microservices-app-on-k-8-s-with-istio/-/raw/master/Dokumentasi.md

3. Silahkan Generate Sertifikat TLS :

$ openssl req -x509 -sha256 -nodes -days 365 -newkey rsa:2048 -subj "/O= books Inc./CN=books.com" -keyout books.com.key -out books.com.crtJika ingin membuat sub-domain :
$ openssl req -out sub.books.com.csr -newkey rsa:2048 -nodes -keyout sub.books.com.key -subj "/CN=sub.books.com/O=sub organization"
$ openssl x509 -req -days 365 -CA books.com.crt -CAkey books.com.key -set_serial 0 -in sub.books.com.csr -out sub.books.com.crt

Lalu silahkan buat secret :

$ kubectl create -n istio-system secret tls books-credential --key= books.com.key --cert= books.com.crt

4. Panggil Secret TLS pada file YAML :

Silahkan tambahkan beberapa baris pemanggil secret TLS pada file Ingress YAML :

5. Apply Manifest :

Silahkan re-apply Manifest yang sudah ditambahkan TLS konfigurasi.

$ kubectl apply -f bookinfo-app/bookinfo-gatewaytls.yaml

6. Akses :

Silahkan akses pada https://books.com/productpage

Dan voilaa, sertifikat TLS sudah berhasil di generate dan digunakan. Sekian dari saya, terima kasih.

Jika kalian ingin bermain dengan Istio pada K8s silahkan baca baca catatan singkat saya pada https://github.com/gilangvperdana/K8s-PlayGround/tree/master/Istio

Adapun jika kalian ingin observasi tools — tools yang sering digunakan pada Kubernetes silahkan kunjungi https://github.com/gilangvperdana/K8s-PlayGround.

Terima kasih bagi para pembaca.

--

--