Cara Mudah Upgrade Ingress Controller Traefik V1 Ke V2 Tanpa Downtime
9 Januari 2020
Traefik adalah reverse-proxy yang dibuat dalam konteks artikel ini yaitu reverse-proxy untuk service dalam kubernetes cluster. Dalam konteks artikel ini traefik berperan sebagai ingress controller. Tugasnya adalah untuk meneruskan request dari luar kubernetes cluster menuju service yang ada di dalam kubernetes cluster. Gambar berikut ini akan menjelaskan apa fungsi Traefik Traefik sebagai reverse proxy tentu saja belum sematang HAProxy atau Nginx. Lalu kenapa pakai traefik? karena Traefik sudah cukup stabil untuk habdle request, built-in let’s encrypt integration, dan tentunya karena dukungan traefik sebagai kubernetes cluster ingress controller.…
Traefik V2 SSL A+ in Ssllabs
3 Januari 2020
Untuk mendapatkan score a+ di SSL Labs ketika menggunakan traefik v2 sebagai ingress controller sangatlah mudah. Cukup membuat sebuah middleware dan sebuah TLSOption. Pertama, buat sebuah middlewara object untuk traefik v2: apiVersion:traefik.containo.us/v1alpha1kind:Middlewaremetadata:name:security-headerspec:headers:frameDeny:truesslRedirect:truebrowserXssFilter:truecontentTypeNosniff:true#HSTSstsIncludeSubdomains:truestsPreload:truestsSeconds:31536000Kemudian buat sebuah TLSOption apiVersion:traefik.containo.us/v1alpha1kind:TLSOptionmetadata:name:mytlsoptionnamespace:defaultspec:minVersion:VersionTLS12cipherSuites:- TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384# TLS 1.2- TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305# TLS 1.2- TLS_AES_256_GCM_SHA384# TLS 1.3- TLS_CHACHA20_POLY1305_SHA256# TLS 1.3curvePreferences:- CurveP521- CurveP384sniStrict:trueApply kedua object diatas dengan kubectl. Selanjutnya edit ingressRoutes traefik: apiVersion:traefik.containo.us/v1alpha1kind:IngressRoutemetadata:name:my.domain.co.idnamespace:belajarannotations:kubernetes.io/ingress.class:"traefik-dua"spec:entryPoints:- webroutes:- match:Host(`my.domain.co.id`)kind:Ruleservices:- name:myapp-svcport:80---apiVersion:traefik.containo.us/v1alpha1kind:IngressRoutemetadata:name:my.domain.co.id-tlsnamespace:belajarannotations:kubernetes.io/ingress.class:"traefik-dua"spec:entryPoints:- websecureroutes:- match:Host(`my.domain.co.id`)kind:Ruleservices:- name:myapp-svcport:80middlewares:- name:security-headernamespace:defaulttls:certResolver:leprodoptions:name:mytlsoptionnamespace:defaultPerhatikan bagian spec.routes.middlewares.name dan spec.…
Traefik V1 Ip Blocklist Part 2
20 Januari 2020
Menyambung artikel tentang Traefik V1 Ip Blocklist, ini sangat mudah karena tinggal setup forward auth doang. Kebetulan dulu aku install traefik v1.7.24 pakai Helm. Jadi untuk setup foward auth, aku tinggal edit values.yaml. Cukup edit/menambahkan forwardAuth:entryPoints:["http","https"]address:http://ipfilter.fwdauth.svc.cluster.local/traefiktrustForwardHeader:trueNote: ipfilter.fwdauth.svc.cluster.local ini mengikuti konvensi dns cluster k8s nama-service.nama-namespace.svc.cluster.local kemudian apply values.yaml dengan perintah helm upgrade helm -n kube-system upgrade traefik stable/traefik -f 1.values.yaml Selesai, sekarang traefik mendapatkan fungsi blocklist ip address. Cool
Traefik V1 Ip Blocklist
17 Januari 2020
Traefik v1.7.24, ingress controller yang saat ini kupakai, tidak memiliki fitur blocklist IP Address tapi memilik fitur sebaliknya. Aneh ya. Umumnya blocklist dan allowlist ini satu paket. Sedikit konteks, aku pakai kubernetes. Ingress controller yang kupakai adalah traefik v1.7.24. Misal aku punya service chart-checkout. Aku ingin hanya IP address 140.213.59.224 yang boleh mengakses service tersebut, IP address lainnya harus di block, maka bisa pakai fitur bawaan traefik whitelist allowlist ip address.…
Menambahkan Cloudflare Origin CA certificate Ke Traefik Kubernetes Ingress
10 Januari 2020
Ceritanya, aku pengen nyobain End-to-end HTTPS pakai Cloudflare dengan mode Full (strict). Alasannya, karena aku pakai Traefik v1.7.24 sebagai ingress controller, dan aku ingin pakai SSL certificate dari cloudflare. Nah si traefik ini sudah dikonfigurasi untuk pakai SSL certificate dari Let’s Encrypt pakai OnHostRule. Masalahnya adalah ketika aku aktifkan HTTP cloudflare maka traefik akan gagal ketika validasi ke server let’s encrypt. Salah satu cara agar traefik tidak request sertifikat ke let’s encrypt adalah dengan cara mendefinisikan tls.…
Logrotate Traefik
30 Januari 2019
Aku pakai traefik untuk ingress controller k8s cluster. Dulu pas setup, aku aktifin access log karena mau aku analisa (Ceileh sok sokan haha). Setelah sekian bulan, log nya traefik bengkak. Haha. Asem, aku lupa rotasi log-nya. Catet dalam benak, logrotate itu wajib untuk sesuatu yang jalan selamanya. Tanpa cas cis cus, langsung bikin logrotate sudo vim /etc/logrotate.d/traefik Isinya adalah /var/log/traefik/access.log { compress create 0640 root root daily delaycompress missingok notifempty rotate 30 postrotate kill -USR1 `pgrep traefik` endscript } Selesai, sisanya serahkan kepada sistem.…
Mencoba Traefik v2
20 Januari 2019
Traefik, belum lama ini rilis versi 2.0. Good news dan bad news. Good news karena pastinya membawa fitur yang makin caem. Bad news karena perubahannya nge-break traefik v1.7. Artinya konfigurasi yang kupakai di traefik v1.7 tidak bisa kupakai begitu saja di traefik v2. Jadinya senang dan sedih campur jadi satu. Namun demikian, life must go on. Aku gak bisa stuck di traefik v1.7 untuk selamanya. Rencanaku, aku mau nunggu sampai traefik v2.…