How I Managed Kubernetes Upgrade in My Homelab Environment
A detailed guide on upgrading a K3s Kubernetes cluster in my homelab from v1.31.6 to v1.32.3
A detailed guide on upgrading a K3s Kubernetes cluster in my homelab from v1.31.6 to v1.32.3
Secure Kubernetes Cluster Upgrades: A Step-by-Step Guide In this post, I’ll document a recent Kubernetes cluster upgrade process I implemented, focusing on security, automation, and best practices. I’ll walk through the entire process from environment assessment to verification, highlighting challenges and solutions along the way. Environment Overview Our setup consisted of a small K3s Kubernetes cluster running on Ubuntu 24.04 with: 1 master node (control plane) 2 worker nodes All nodes running an older kernel version (6.8.0-56-generic) Multiple security updates pending Upgrade Objectives Update all system packages across all nodes Apply kernel updates securely Minimize downtime by implementing a rolling upgrade Establish secure automation for future upgrades Step 1: Setting Up Secure Access The first step was to establish secure, password-less authentication using SSH keys instead of using plaintext passwords. ...
Introduction In the first part of this series, we explored the basics of Cloudflare Workers and set up our project. The second part covered core implementation details like cookie management and article parsing. Now, in this final installment, we’ll dive into the advanced features that make our news scraping worker robust and maintainable: Multiple pattern matching techniques for resilient scraping Comprehensive debugging endpoints Deployment strategies and maintenance considerations Multiple Pattern Matching for Robust Scraping One of the biggest challenges in web scraping is handling website changes. News sites frequently update their layouts and HTML structure, which can break simple scraping approaches. To build a resilient solution, I implemented a multi-tiered approach to article extraction. ...
Introduction In Part 1, we covered the basics of Cloudflare Workers and set up our project. Now, let’s dive into the core implementation details that make our news gathering worker function. This post focuses on three crucial aspects: Cookie management for authenticated access Article fetching and parsing techniques Error handling and debugging strategies Cookie Management System Many modern websites, including Nation Africa, use cookies for session management and paywalls. To access full content, we need to maintain valid session cookies. ...
Introduction to Cloudflare Workers Cloudflare Workers represent a paradigm shift in how we build and deploy applications on the web. Unlike traditional server-based applications, Cloudflare Workers run on Cloudflare’s edge network, meaning they execute closer to your users and provide impressive performance benefits. Key advantages of Cloudflare Workers include: Edge Execution: Code runs on Cloudflare’s global network, reducing latency Serverless Architecture: No servers to manage or scale Cost-Effective: Pay only for what you use with generous free tier JavaScript/TypeScript Native: Write in familiar languages Powerful API Access: Built-in fetch, KV storage, and more In this series, I’ll walk through how I built a Cloudflare Worker that collects news articles from Nation Africa (https://nation.africa) for personal use, and how you might adapt this approach for other sites. ...
Managing Proxmox Containers with Terraform Infrastructure as Code (IaC) has revolutionized the way we manage and deploy infrastructure. In this blog post, I’ll walk you through setting up and managing LXC containers in Proxmox using Terraform, a popular IaC tool. We’ll also explore a common challenge when provisioning SSH access and how to work around it effectively. Prerequisites Before we begin, make sure you have: A Proxmox VE server up and running (I’m using version 8.x) Terraform installed on your local machine (version 1.0+) LXC templates downloaded on your Proxmox server API token created in Proxmox with the appropriate permissions Project Structure Let’s set up a simple project structure for our Terraform configuration: ...
Kinda finally did it ? So over the past few weeks I have been working on my homelab, and I have learnt sooo much along the way, and I figured, the best way to post about it was to write about it. So I wrote an article on linkedln https://www.linkedin.com/pulse/project-home-lab-part-1-duncan-njoroge-k6roc/?trackingId=xvkKya%2FfRE%2BFavksulcKxw%3D%3D Which elicited a lot of interest. But I also not only wanted to document it there, I wanted to be able to share it to the world, so that when they search for something related to " how do I begin a homelab, they will find some footing. ...
Complete ArgoCD Implementation Guide Overview This comprehensive guide provides everything you need to implement, optimize, and maintain ArgoCD in a production environment. From basic setup to advanced optimization and real-world scenarios. Guide Structure 1. Setting Up ArgoCD Basic installation and configuration Security setup Network configuration Initial access setup 2. Resource Optimization Resource management High availability configuration Performance tuning Monitoring setup 3. Real-World Implementation Scenarios Multi-cluster management Hybrid cloud deployments Microservices orchestration Production best practices 4. Integration Patterns CI/CD pipeline integration External tools connectivity Authentication systems Monitoring solutions Quick Start Begin with basic setup Follow optimization guide Explore real-world scenarios Implement integrations Implementation Roadmap Phase 1: Foundation Basic installation Security configuration Access management Phase 2: Optimization Resource management High availability Performance tuning Phase 3: Integration CI/CD pipeline Monitoring Authentication Phase 4: Scale Multi-cluster Automation Advanced patterns Best Practices Summary Security RBAC implementation Secret management Network policies Authentication methods Operations Backup procedures Upgrade strategies Monitoring setup Troubleshooting Development GitOps workflow Application patterns Deployment strategies Version control Additional Resources Documentation Official ArgoCD Docs Kubernetes Docs GitOps Guide Community GitHub Discussions Slack Channels User Forums Meetups Tools CLI tools UI extensions Integration tools Monitoring solutions Contributing Found an issue or have a suggestion? Submit a pull request or open an issue on our GitHub repository. ...