<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:content="http://purl.org/rss/1.0/modules/content/">
  <channel>
    <title>K8s on cbugk&#39;s blog</title>
    <link>https://blog.cbugk.com/tags/k8s/</link>
    <description>Recent content in K8s on cbugk&#39;s blog</description>
    <generator>Hugo -- 0.140.2</generator>
    <language>en-us</language>
    <lastBuildDate>Sat, 01 Nov 2025 15:18:00 +0300</lastBuildDate>
    <atom:link href="https://blog.cbugk.com/tags/k8s/index.xml" rel="self" type="application/rss+xml" />
    <item>
      <title>Kubeadm Multi-master K8s Cluster with Kube-VIP</title>
      <link>https://blog.cbugk.com/post/kubeadm-multi-master-kubevip/</link>
      <pubDate>Sat, 01 Nov 2025 15:18:00 +0300</pubDate>
      <guid>https://blog.cbugk.com/post/kubeadm-multi-master-kubevip/</guid>
      <description>&lt;h2 id=&#34;introduction&#34;&gt;Introduction&lt;/h2&gt;
&lt;p&gt;I had turned inter-webs upside down back in late 2019 - early 2020 (pre-COVID) to find a tutorial &lt;strong&gt;that I could follow&lt;/strong&gt; on multi-master Kubernetes clusters on bare-metal to no avail. Well, I have revisited that exercise, flock around! This tutorial will use VMs (on PVE as usual) for ease of use though, especially for backups.&lt;/p&gt;
&lt;p&gt;&lt;img alt=&#34;vm-backups.png&#34; loading=&#34;lazy&#34; src=&#34;https://blog.cbugk.com/post/kubeadm-multi-master-kubevip/img/vm-backups.png&#34;&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;CloudInit Debian 13 AMD64 machines are used (remember to increase disk size first :D). Checkout Techno Tim&amp;rsquo;s video which was linked in &lt;a href=&#34;../proxmox-cloudinit-arm64-vm&#34;&gt;proxmox-cloudinit-arm64-vm&lt;/a&gt; for details or just use NoCloud/manual install Debian.&lt;/li&gt;
&lt;li&gt;Bridge network is used on the host to better simulate bare-metal experience. However, for those who would try this on BM, adjust interface names, which are conveniently all &lt;code&gt;eth0&lt;/code&gt; in this post.&lt;/li&gt;
&lt;li&gt;I would checkout &lt;a href=&#34;https://www.talos.dev/&#34;&gt;Talos&lt;/a&gt; for bare-metal, &lt;a href=&#34;https://kairos.io/&#34;&gt;Kairos&lt;/a&gt; (on Yocto) for embedded scenarios. If you work for government, &lt;em&gt;nobody ever got fired for choosing IBM [or SUSE]&lt;/em&gt;.&lt;/li&gt;
&lt;li&gt;I am yet to test &lt;a href=&#34;https://cilium.io/&#34;&gt;Cilium&lt;/a&gt; out for CNI. It is praised for its observability. But one step at a time, &lt;a href=&#34;https://docs.tigera.io/calico/latest/about/&#34;&gt;Calico&lt;/a&gt; is used instead.&lt;/li&gt;
&lt;li&gt;Unfortunately, redundant storage (e.g. Rook, Longhorn) is not within scope of this exercise either. Hopefully, there will be follow up posts.&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&#34;aim&#34;&gt;Aim&lt;/h3&gt;
&lt;ol&gt;
&lt;li&gt;A self-hosted 3-node kubernetes cluster where each node is part of control plane.&lt;/li&gt;
&lt;li&gt;Ability to take down any one of the nodes and keep having operational API server and Services.&lt;/li&gt;
&lt;li&gt;Use of simple network equipment, as those are not cheap in where I currently am.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;For the bullet points above, this should be threated as just an educational resource.&lt;/p&gt;</description>
    </item>
  </channel>
</rss>
