<?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 Budiman JoJo</title>
    <link>https://budimanjojo.com/tags/kubernetes/</link>
    <description>Recent content in Kubernetes on Budiman JoJo</description>
    <generator>Hugo</generator>
    <language>en</language>
    <lastBuildDate>Wed, 22 Feb 2023 18:45:56 +0000</lastBuildDate>
    <atom:link href="https://budimanjojo.com/tags/kubernetes/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>How I Write Kubernetes Manifests</title>
      <link>https://budimanjojo.com/2023/02/22/how-i-write-kubernetes-manifests/</link>
      <pubDate>Wed, 22 Feb 2023 18:45:56 +0000</pubDate>
      <guid>https://budimanjojo.com/2023/02/22/how-i-write-kubernetes-manifests/</guid>
      <description>&lt;p&gt;While tools like &lt;a href=&#34;https://helm.sh&#34;&gt;Helm&lt;/a&gt; and &lt;a href=&#34;https://kustomize.io&#34;&gt;kustomize&lt;/a&gt; can significantly reduce the amount of manual &lt;a href=&#34;https://medium.com/@sujithabdulrahim/understanding-the-kubernetes-manifest-e96d680f2a11&#34;&gt;Kubernetes manifests&lt;/a&gt; writing, it&amp;rsquo;s often impossible to completely avoid it (even (&lt;code&gt;kustomization.yaml&lt;/code&gt; file is itself a Kubernetes manifest).&#xA;For instance, you may need to create a basic ingress because the chart you&amp;rsquo;re using doesn&amp;rsquo;t provide a template for it, or generate a certificate for your domain with cert-manager.&#xA;In this post, I&amp;rsquo;ll describe how I leverage &lt;a href=&#34;https://code.visualstudio.com/docs/editor/userdefinedsnippets&#34;&gt;VSCode snippets&lt;/a&gt; and &lt;a href=&#34;https://github.com/redhat-developer/yaml-language-server&#34;&gt;yaml-language-server&lt;/a&gt; to write Kubernetes manifests.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I GitOps Home Assistant Configurations</title>
      <link>https://budimanjojo.com/2021/11/04/gitops-home-assistant-configurations/</link>
      <pubDate>Thu, 04 Nov 2021 17:37:02 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/11/04/gitops-home-assistant-configurations/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/gitops-home-assistant-configurations_1.png&#34; data-dimbox data-dimbox-caption=&#34;home assistant gitops&#34;&gt;&#xA;  &lt;img alt=&#34;home assistant gitops&#34; src=&#34;https://budimanjojo.com/images/gitops-home-assistant-configurations_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;I always love the idea of GitOps, where everything I have in a git repo represents the current state of my application.&#xA;But not everything are made for GitOps, so we have to sort of “make it work”.&#xA;In this post, I will show you how I manage to GitOps my Home Assistant configurations.&#xA;Spoiler, this is hacky and messy at the same time, so please bear this in mind before continuing.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Automating Kubernetes Nodes Reboot with Kured</title>
      <link>https://budimanjojo.com/2021/10/28/automating-kubernetes-nodes-reboot-with-kured/</link>
      <pubDate>Thu, 28 Oct 2021 16:05:01 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/28/automating-kubernetes-nodes-reboot-with-kured/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/kured-kubernetes_1.png&#34; data-dimbox data-dimbox-caption=&#34;kured-kubernetes&#34;&gt;&#xA;  &lt;img alt=&#34;kured-kubernetes&#34; src=&#34;https://budimanjojo.com/images/kured-kubernetes_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Having an up-to-date Kubernetes node is important, especially security updates.&#xA;Sometimes an update requires a reboot to take effect, and you don’t want to keep checking them manually.&#xA;In this post, I will share about how I automate my Kubernetes nodes to reboot when necessary using &lt;a href=&#34;https://github.com/weaveworks/kured&#34;&gt;Kured&lt;/a&gt;.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Variable Substitution in Flux GitOps</title>
      <link>https://budimanjojo.com/2021/10/27/variable-substitution-in-flux-gitops/</link>
      <pubDate>Wed, 27 Oct 2021 13:36:08 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/27/variable-substitution-in-flux-gitops/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/variable-substitution-in-flux-gitops_1.png&#34; data-dimbox data-dimbox-caption=&#34;variable substitution in flux&#34;&gt;&#xA;  &lt;img alt=&#34;variable substitution in flux&#34; src=&#34;https://budimanjojo.com/images/variable-substitution-in-flux-gitops_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Sometimes there are values that you want to use multiple times in your manifest files.&#xA;Usually, we define them using a config map or secret and we either mount them as a file or environment variable.&#xA;This is easy if you don’t use GitOps and have a small amount of pods.&#xA;Also, having a single configmap and secret will clean up a lot of mess out of your cluster, and this is what variable substitution will do for you.&#xA;I find this really useful especially for sensitive information you don’t want people all around the world to see.&#xA;In this post, I will show you how I do variable substitution using Flux GitOps tool.&lt;/p&gt;</description>
    </item>
    <item>
      <title>Flux Secret Management with SOPS age</title>
      <link>https://budimanjojo.com/2021/10/23/flux-secret-management-with-sops-age/</link>
      <pubDate>Sat, 23 Oct 2021 16:16:41 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/23/flux-secret-management-with-sops-age/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/flux-secret-management-with-sops-age_1.png&#34; data-dimbox data-dimbox-caption=&#34;flux secret with sops age&#34;&gt;&#xA;  &lt;img alt=&#34;flux secret with sops age&#34; src=&#34;https://budimanjojo.com/images/flux-secret-management-with-sops-age_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;Following my &lt;a href=&#34;https://budimanjojo.com/2021/10/20/how-i-manage-my-kubernetes-manifests-using-flux/&#34;&gt;previous post&lt;/a&gt; about Kubernetes management using &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux&lt;/a&gt;, this post will cover secret management using &lt;a href=&#34;https://github.com/mozilla/sops&#34;&gt;SOPS&lt;/a&gt; and &lt;a href=&#34;https://github.com/FiloSottile/age&#34;&gt;age&lt;/a&gt;.&#xA;SOPS is a tool to encrypt and decrypt text files while age is the encryption tool that is simple, modern, and secure.&lt;/p&gt;</description>
    </item>
    <item>
      <title>How I Manage My Kubernetes Manifests Using Flux</title>
      <link>https://budimanjojo.com/2021/10/20/manage-kubernetes-manifests-using-flux/</link>
      <pubDate>Wed, 20 Oct 2021 18:45:56 +0000</pubDate>
      <guid>https://budimanjojo.com/2021/10/20/manage-kubernetes-manifests-using-flux/</guid>
      <description>&lt;p&gt;&#xA;&lt;a href=&#34;https://budimanjojo.com/images/how-i-manage-my-kubernetes-manifests-using-flux_1.png&#34; data-dimbox data-dimbox-caption=&#34;manage kubernetes manifests flux&#34;&gt;&#xA;  &lt;img alt=&#34;manage kubernetes manifests flux&#34; src=&#34;https://budimanjojo.com/images/how-i-manage-my-kubernetes-manifests-using-flux_1.png&#34;/&gt;&#xA;&lt;/a&gt;&#xA;&lt;/p&gt;&#xA;&lt;p&gt;GitOps is currently the most popular way to manage your services.&#xA;It’s sort of what DevOps is but with Git.&#xA;To put it in a simple way, it is a practice where you manage everything through git.&#xA;Whatever you have in your git repository is what your cluster current state is.&#xA;Because GitOps is so popular there are a lot of new tools focusing on GitOps right now, and &lt;a href=&#34;https://fluxcd.io/&#34;&gt;Flux&lt;/a&gt; is one of them.&#xA;In this post I will give you a glance on how I manage my Kubernetes manifests using Flux.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
