So this started in my head “I want to learn kubernetes…” Well… I learned it… But the learning didn’t stop with kubernetes…

Then the learning started with a course of Udemy (https://www.udemy.com/course/learn-devops-the-complete-kubernetes-course/learn/lecture/11278680?start=0#overview ) Excellent course. Learned me the ins and outs of kubernetes. But then of course… To put learning to practice I needed a kubernetes cluster. Yes, I could use minikube… But where is the fun in that… 😀

I started with creating a k3s rancher cluster. Because of it’s low system footprint and a awesome GUI to see whats is happening to your cluster.
I used this guide https://rancher.com/docs/rancher/v2.x/en/installation/k8s-install/create-nodes-lb/ and started with “Setup Infrastructure”… Very important… Read EVERYTHING.

After some cursing and reinstalling servers to make sure I had a clean slate to start, I managed to get it up and running… Happy me 🙂

So, now it was time to deploy something on the cluster… And I started with the nice low footprint gitea app for storing my ansible playbooks, kubernetes apps,… I could have used helm, the easy way… But I was here to learn, so I created the manifest on my own (with help of my good friend Google…). But I did it. It deployed. I could reach it with my external Nginx LoadBalancer. Happy me… 🙂

So… Then came helm… Let’s see how that works… I learned the true value of the values.yml… really… If you starting with pre-created helm charts… Take your time to go through the values.yml to edit it to your environment… It safes some headache…

So, I learned how Helm works, so I was thinking more and more to a fully home CI/CD setup. So what do I need… Keeping in mind that if it was possible I needed low footprint applications…

  • Docker repository: I went for Harbor. Great tool. Nice GUI. And scans your images on security flaws. https://goharbor.io/
  • Jenkins (widely used, so…)
  • Awx… To automatically run my playbooks in conjunction with jenkins . Yes, less low footprint, but hey… Sometimes you need to sacrifice to get want you want…

So, after all that was I installed on my kubernetes cluster… I was ready to start learning Jenkins, Kubernetes and of course some wordpress… And with deploying wordpress I learned the auto scaling functionality of kubernetes… :-D. So… Happy me… Again 😀

The final setup (for now…) looks like this:

And currently following applications are installed: