kubernetes

Kubernetes Basics - Introductions

Introductions I’d just like to preface this by stating that I am by no means an expert on Kubernetes, but I have deployed multiple open source applications locally, and have studied the documentations extensively. You should most definitely not use the practices displayed here in production, but rather use this as a foundation to learn and get familiar with Kubernetes. If you do use this in production, I am in no way to be held responsible for your actions. »

Kubernetes - Learn by Doing

Introductions Alright! Now that we have the basics out of the way, and you know what the different resources and objects are, let’s put it into practice and solidify your knowledge. We’ll start off by installing K3S by Rancher. K3S is a lightweight certified kubernetes distrobution designed mostly for arm and edge devices. This is perfect if you have a Raspberry Pi cluster. Prerequisites What you’ll need: a couple raspberry pi’s or A PC(the more cores, the better) Cloudhosting providers work as well Personally I use Digital Ocean. »

Deploy Pi-Hole on Kubernetes

Pi-Hole is a network-wide ad blocker. It works by blocking ad’s at the DNS level instead of the browser level. Once we’re set up with Pi-Hole’s deployment, you’d change your DNS server either at your local workstation or in your router. We’ll start off by creating our many manifest file’s that we’ll then apply. There is a helm chart for Pi-Hole located in https://github.com/MoJo2600/pihole-kubernetes/tree/master/charts/pihole, but to be honest, When I initially set up my deployment of Pi-Hole, I wasn’t a fan of the helm chart. »

Deploy Evobot On Kubernetes

Evobot is a Discord Music Bot written in NodeJS. From the github page, it’s describe as “a Discord Music Bot built with discord.js & uses Command Handler from discordjs.guide” This is pretty simple to deploy as we don’t need to create any persistent storage or any services. We only need to create the deployment file, a secret, configmap, and namespace. Let’s start off by making the evobot folder in the ~/k3s/ directory with $ mkdir ~/k3s/evobot/ »

Deploy Gitea On Kubernetes

Gitea is a completely self-hosted Git Service. This is what I use for all my source-control needs. I’ve also paired this up with DroneCI for automated software builds and tests. There is an Helm chart available for installing Gitea on Kubernetes, but I’m not a huge fan of Helm charts. We’ll deploy Gitea via yaml manifest files. This is a bit more complicated than deploying a simple app like Evobot but still very rewarding! »