Sebelumnya terlebih dahulu untuk membuat secret agar nantinya kita bisa pull dari registry pribadi, jalankan seperti ini:

kubectl create secret docker-registry regcred –docker-server=dockerprivateregistry.demos.ms-biznetgio.net –docker-username=dockerprvtregms –docker-password=H62u=sxTkDOC

Lalu kemudian nantinya membuat sebuah pod, semisal sebuah pod deploymentnya webserver nginx nantinya kita akan membuat sebuah ingress

Lalu kemudian juga membuat sebuah pod servicenya.

Setelah itu jalankan perintah ini untuk mendeploy POD tersebut dan SVC nya

kubectl apply -f webserver-ridho.yaml –validate=false

kubectl apply -f webserver-ridho-svc.yaml

Jika sudah, selanjutnya kita akan mendeploy ingress nginx nya

kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/controller-v1.1.2/deploy/static/provider/baremetal/deploy.yaml

Lalu kemudian nanti check buat file rewrite, dimana ini file nginx-ingress

Setelah itu nantinya jalankan apply untuk deploymentnya

kubectl apply -f rewrite.yaml

Setelah itu cek pod ingress untuk melihat alamat IP nantinya ini untuk mengubah service 

kubectl get ingress

Lalu kemudian menambahkan alamat eksternal IP untuk mendefinisikan alamat IP eksternal si worker

kubectl edit svc -n ingress-nginx ingress-nginx-controller

Lalu tambahkan seperti ini 

* tambahkan externalIP
...
 selector:
   app: ingress-nginx
 externalIPs:
 - IP-MASTER-LOCAL
...

Jika sudah selanjutnya install cert-manager untuk 

kubectl apply -f https://github.com/cert-manager/cert-manager/releases/download/v1.8.0/cert-manager.yaml

Lalu kemudian cek pod cert-manager sudah running

Setelah itu konfigure let’s encrypt issuer, jalankan seperti ini

kubectl create --edit -f https://cert-manager.io/docs/tutorials/acme/example/production-issuer.yaml

Jika sudah deploy TLS Ingress resource, maka selanjutnya ubah rewrite.yaml lalu tambahkan

cert-manager.io/issuer: "letsencrypt-prod"

seperti ini hasilnya

Lalu kemudian cek domain tersebut, jika sudah berhasi disecure nginx 

By admin

Leave a Reply

Your email address will not be published. Required fields are marked *