|
| 1 | +--- |
| 2 | +title: "Kubernetes: A new frontier for me!" |
| 3 | +date: 2025-12-08 16:00:00 |
| 4 | +categories: [Homelab, Linux] |
| 5 | +tags: [arch-linux, linux, homelab, kubernetes] |
| 6 | +description: "Week 5 of 16: Learning Kubernetes and deploying a K3s control plane and worker" |
| 7 | +toc: true |
| 8 | +mermaid: true |
| 9 | +--- |
| 10 | + |
| 11 | +**See the [Homelab GitHub Repo](https://github.com/aott33/iiot-kubernetes-homelab)** |
| 12 | + |
| 13 | +**Week:** 5 of 16 |
| 14 | + |
| 15 | +--- |
| 16 | + |
| 17 | +## Introduction |
| 18 | + |
| 19 | +This week was supposed to be about Kubernetes. It became a masterclass in Arch Linux installation troubleshooting instead. |
| 20 | + |
| 21 | +I spent hours debugging an encrypted Arch Linux installation that refused to boot and learned to follow the recommended installation guide. |
| 22 | + |
| 23 | +## Background & Context |
| 24 | + |
| 25 | +This is week 3 of a 16-week journey documenting my Homelab building process. Week 1 established the network foundation with OPNsense and WiFi. Week 2 added VLAN segmentation for OT/IT security. This week was meant to deploy the Kubernetes control plane on my gaming PC, but hardware had other plans. |
| 26 | + |
| 27 | +**Hardware obstacle:** My gaming PC wouldn't power on this week. It tripped the circuit breaker immediately on startup, indicating a power supply or motherboard fault. Rather than delay the project for hardware troubleshooting, I pivoted to using my business PC as the K3s control plane instead. |
| 28 | + |
| 29 | +Before starting this week, I had never installed Arch Linux. I'd used Ubuntu and other Debian-based distros, but Arch's manual installation process was new to me. I chose Arch because of the learning opportunity, it's the foundation for the K3s control plane that will run my IIoT platforms. |
| 30 | + |
| 31 | +**This week's goals:** |
| 32 | +1. Install Arch Linux on Business PC (IP: 192.168.20.10) |
| 33 | +2. Deploy K3s control plane (server mode) with no workload scheduling |
| 34 | +3. Verify control plane health and accessibility |
| 35 | +4. Document baseline resource usage |
| 36 | + |
| 37 | +--- |
| 38 | + |
| 39 | +These gaps won't block K3s deployment, but filling them will make me more effective at troubleshooting when things break. The Arch Wiki will be my companion for these deep dives. |
| 40 | + |
| 41 | +--- |
| 42 | + |
| 43 | +## Summary & Lessons Learned |
| 44 | + |
| 45 | +Week 3 is finally complete. I installed Arch Linux on the business PC after a humbling journey through hardware failure (gaming PC tripped circuit breaker, suspected PSU/motherboard fault), encryption troubleshooting, UEFI quirks, and configuration errors. The K3s control plane deployment moves to Week 4. |
| 46 | + |
| 47 | +**What worked well:** |
| 48 | +- **MSI `--removable` flag discovery:** Solved the initial boot failure |
| 49 | +- **Switching to the Arch Wiki:** Official documentation is always superior to tutorials for critical infrastructure |
| 50 | +- **Fresh start decision:** Knowing when to abandon a broken approach saved hours of additional debugging |
| 51 | + |
| 52 | +**What didn't work:** |
| 53 | +- **Following YouTube tutorial blindly:** Encryption added complexity I didn't need yet |
| 54 | + |
| 55 | +**The biggest lesson: Complexity has a cost** |
| 56 | + |
| 57 | +Encryption is valuable. LVM is powerful. But adding them *during initial installation* on a homelab system increased failure modes. I needed a working foundation first. |
| 58 | + |
| 59 | +Next week: K3s control plane deployment (for real this time). |
| 60 | + |
| 61 | +--- |
| 62 | + |
| 63 | +## Next Week Preview |
| 64 | + |
| 65 | +**Week 4: K3s Control Plane - Building the Kubernetes Foundation** |
| 66 | + |
| 67 | +With Arch Linux installed and working, I'm finally ready to deploy the Kubernetes control plane. This week I'm tackling: |
| 68 | + |
| 69 | +1. K3s server installation on arch-andy |
| 70 | +2. Control plane configuration (no workload scheduling) |
| 71 | +3. Verify cluster health with `kubectl` |
| 72 | +4. Document baseline resource usage |
| 73 | +5. Prepare for worker node addition in Week 5 |
| 74 | + |
| 75 | +This is my first time deploying Kubernetes from scratch, so expect some learning moments. |
| 76 | + |
| 77 | +Follow along as we finally get to the Kubernetes part of this Kubernetes homelab project! |
| 78 | + |
| 79 | +--- |
| 80 | + |
| 81 | +## Resources & Links |
| 82 | + |
| 83 | +**Arch Linux Documentation:** |
| 84 | +- [Arch Linux Installation Guide](https://wiki.archlinux.org/title/Installation_guide): The official guide |
| 85 | +- [Arch Linux Download](https://archlinux.org/download/): ISO images and torrents |
| 86 | +- [General Recommendations](https://wiki.archlinux.org/title/General_recommendations): Post-installation configuration |
| 87 | + |
| 88 | +**Tutorial I Followed (Initially):** |
| 89 | +- [YouTube: Arch Linux Installation Tutorial](https://www.youtube.com/watch?v=FxeriGuJKTM): Good tutorial |
| 90 | + |
| 91 | +**Troubleshooting Resources:** |
| 92 | +- [MSI Motherboard Boot Issue](https://bbs.archlinux.org/viewtopic.php?id=283707): UEFI boot quirks |
| 93 | +- [GitHub: PiKVM FSTAB Issue](https://github.com/pikvm/pikvm/issues/709): Helped diagnose mount problems |
| 94 | + |
| 95 | +**Homelab Repository:** |
| 96 | +- [Homelab Repo](https://github.com/aott33/iiot-kubernetes-homelab) |
| 97 | + |
| 98 | +**Writing Framework:** |
| 99 | +- [The Algorithmic Framework for Writing Good Technical Articles](https://www.theocharis.dev/blog/algorithmic-framework-for-writing-technical-articles/) |
0 commit comments