The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 8a: CloudNativePG Disk Size Problems

I recently started migrating my Grafana instance from Nomad to k8s and hit some very weird errors in the CloudNativePG DB after letting it run for a short while. This is an addendum to my previous post on CloudNativePG. The initial issue The first issue came during the first setup of Grafana. A couple of minutes after Grafana started running and writing data to the DB, the two database pods (primary and replica) suddenly stopped working and just threw this error:...

March 29, 2024 · 5 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 9: Prometheus

Wherein I set up Prometheus for metrics gathering in the k8s cluster. This is part 10 of my k8s migration series. Let me tell you something about me: I love metrics. And pretty charts. The more the better. Back in 2020, setting up Prometheus+Grafana was what brought me to Homelabbing as a hobby, instead of just a means to an end, running some services I wanted to use. I had just gotten an updated ISP connection and found my old FritzBox not working anymore....

March 15, 2024 · 18 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 8: Setting up CloudNativePG for Postgres DB Support

Wherein I set up cloud-native-pg to supply Postgres clusters in my k8s cluster. This is part nine of my k8s migration series. PostgreSQL is currently the only DBMS in my Homelab. My initial plan was to just copy and paste the deployment over from my Nomad setup. But then I was pointed towards CloudNativePG, which is an operator for managing Postgres deployments in Kubernetes. But before I go into details on CloudNativePG, a short overview of my current setup in Nomad....

February 29, 2024 · 18 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 7: Ansible Plays for Host Updates

Wherein I add the Kubernetes nodes to my host update Ansible playbook. This is part eight of my k8s migration series. With the number of hosts I’ve now got in my Homelab, I definitely need a better way to update them than manually SSH’ing into each. So a while ago, I created an Ansible playbook to update all hosts in my Homelab. These updates are also one of the reasons I keep so many physical hosts, even if they’re individually relatively small: I want an environment where I can take down any given host for updates without anything at all breaking, and especially without having to take the entire lab down before a regular host update....

February 17, 2024 · 10 min · Michael
The HashiCorp Nomad and Kubernetes logos, connected with an arrow pointing from Nomad to Kubernetes

Nomad to k8s, Part 6: Logging with FluentD, Fluentbit and Loki

Wherein I document how I migrated my logging setup from Nomad to k8s. This is part seven of my k8s migration series. Setup overview Let’s start with an overview of the setup. Overview of my logging pipeline. It all starts out with the app’s logs. Those are output to stdout in the container. Then, my container runtime, cri-o, takes that and writes it to files in /var/log/containers/ by default. It also prefixes the log line with the timestamp, the stream it was coming from, and F for full log lines as well as P for partial log lines....

February 13, 2024 · 30 min · Michael