<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Kubernetes on Dagimal (⌐ ͡■ ͜ʖ ͡■)</title><link>https://dagimal.com/blog/kubernetes/</link><description>Recent content in Kubernetes on Dagimal (⌐ ͡■ ͜ʖ ͡■)</description><generator>Hugo</generator><language>en-US</language><copyright>Copyright © 2024, Dagimal.</copyright><lastBuildDate>Tue, 07 Apr 2026 17:00:00 +0700</lastBuildDate><atom:link href="https://dagimal.com/blog/kubernetes/index.xml" rel="self" type="application/rss+xml"/><item><title>ArgoCD: CI Cukup Build, Urusan Deploy Serahin ke Git</title><link>https://dagimal.com/blog/argocd-gitops/</link><pubDate>Tue, 07 Apr 2026 17:00:00 +0700</pubDate><guid>https://dagimal.com/blog/argocd-gitops/</guid><description>&lt;p&gt;Kalau kita bicara &lt;em&gt;CI/CD&lt;/em&gt;, kebanyakan orang masih sering campur aduk antara proses &lt;em&gt;CI&lt;/em&gt; dan &lt;em&gt;CD&lt;/em&gt; dalam satu &lt;em&gt;pipeline&lt;/em&gt;. Build &lt;em&gt;image&lt;/em&gt;, push ke &lt;em&gt;registry&lt;/em&gt;, terus langsung &lt;em&gt;deploy&lt;/em&gt; ke &lt;em&gt;Kubernetes&lt;/em&gt; dalam satu alur. Kelihatannya simpel, tapi ada beberapa masalah yang muncul seiring waktu:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;em&gt;Pipeline&lt;/em&gt; jadi satu titik kegagalan. Kalau ada yang salah di proses &lt;em&gt;deploy&lt;/em&gt;, susah dipisahkan dari proses &lt;em&gt;build&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Tidak ada &lt;em&gt;audit trail&lt;/em&gt; yang jelas siapa yang trigger &lt;em&gt;deploy&lt;/em&gt; dan kapan&lt;/li&gt;
&lt;li&gt;&lt;em&gt;Rollback&lt;/em&gt; butuh re-run &lt;em&gt;pipeline&lt;/em&gt;, padahal seharusnya cukup balik ke versi sebelumnya&lt;/li&gt;
&lt;li&gt;&lt;em&gt;CI pipeline&lt;/em&gt; butuh akses langsung ke &lt;em&gt;Kubernetes cluster&lt;/em&gt;, yang berarti ada &lt;em&gt;credential&lt;/em&gt; cluster yang disimpan di &lt;em&gt;CI system&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;em&gt;ArgoCD&lt;/em&gt; hadir dengan pendekatan &lt;em&gt;GitOps&lt;/em&gt;: &lt;strong&gt;sumber kebenaran untuk kondisi &lt;em&gt;cluster&lt;/em&gt; adalah &lt;em&gt;Git repository&lt;/em&gt;&lt;/strong&gt;. &lt;em&gt;ArgoCD&lt;/em&gt; yang akan watch &lt;em&gt;repo&lt;/em&gt;, dan kalau ada perbedaan antara yang ada di &lt;em&gt;Git&lt;/em&gt; dengan yang berjalan di &lt;em&gt;cluster&lt;/em&gt;, dia akan sync otomatis atau minta kita untuk sync manual.&lt;/p&gt;</description></item><item><title>External Secrets Operator: Inject Secret dari Vault ke Kubernetes</title><link>https://dagimal.com/blog/external-secret-operator/</link><pubDate>Tue, 07 Apr 2026 16:00:00 +0700</pubDate><guid>https://dagimal.com/blog/external-secret-operator/</guid><description>&lt;p&gt;Kalau kita manage &lt;em&gt;secret&lt;/em&gt; di &lt;em&gt;Kubernetes&lt;/em&gt;, cara paling umum adalah simpan langsung sebagai &lt;em&gt;Kubernetes Secret&lt;/em&gt;. Tapi ada masalahnya: &lt;strong&gt;nilai di dalam &lt;em&gt;Kubernetes Secret&lt;/em&gt; hanya di-encode dengan &lt;em&gt;base64&lt;/em&gt;, bukan dienkripsi&lt;/strong&gt;. Siapapun yang punya akses ke &lt;em&gt;cluster&lt;/em&gt; bisa baca isinya. Belum lagi soal rotasi &lt;em&gt;secret&lt;/em&gt; yang manual dan menyiksa.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;HashiCorp Vault&lt;/em&gt; hadir sebagai solusi penyimpanan &lt;em&gt;secret&lt;/em&gt; yang proper, dengan enkripsi, audit log, dan fitur rotasi otomatis. Masalahnya, bagaimana cara aplikasi di &lt;em&gt;Kubernetes&lt;/em&gt; baca &lt;em&gt;secret&lt;/em&gt; dari &lt;em&gt;Vault&lt;/em&gt; tanpa ribet?&lt;/p&gt;</description></item><item><title>RBAC di Kubernetes: Atur Siapa Boleh Ngapain</title><link>https://dagimal.com/blog/rbac-kubernetes/</link><pubDate>Tue, 07 Apr 2026 15:30:00 +0700</pubDate><guid>https://dagimal.com/blog/rbac-kubernetes/</guid><description>&lt;p&gt;Kalau kita sudah punya &lt;em&gt;Kubernetes cluster&lt;/em&gt;, salah satu hal yang paling sering diabaikan adalah siapa yang boleh akses apa. Default-nya, kalau kita kasih seseorang &lt;em&gt;kubeconfig&lt;/em&gt;, mereka bisa ngapa-ngapain di dalam &lt;em&gt;cluster&lt;/em&gt;. Bisa delete &lt;em&gt;pod&lt;/em&gt;, bisa baca &lt;em&gt;secret&lt;/em&gt;, bisa bikin kekacauan.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;RBAC&lt;/em&gt; atau &lt;em&gt;Role-Based Access Control&lt;/em&gt; adalah mekanisme bawaan &lt;em&gt;Kubernetes&lt;/em&gt; untuk mengontrol akses ke resource di dalam &lt;em&gt;cluster&lt;/em&gt;. Dengan &lt;em&gt;RBAC&lt;/em&gt;, kita bisa tentuin dengan tepat: &lt;strong&gt;user A hanya boleh baca &lt;em&gt;pod&lt;/em&gt; di &lt;em&gt;namespace&lt;/em&gt; tertentu&lt;/strong&gt;, atau &lt;strong&gt;service account B hanya boleh create &lt;em&gt;deployment&lt;/em&gt;&lt;/strong&gt;, tidak lebih dari itu.&lt;/p&gt;</description></item></channel></rss>