I'm exploring the setup of PowerDNS along with PostgreSQL on Kubernetes using Talos OS. I'm particularly interested in creating a dedicated DNS cluster with nodes that can perform multiple roles. Here are a couple of things I'm curious about: 1. What's the best approach for database storage? 2. What kind of load balancer should I use for the DNS IP? Any insights would be appreciated!
4 Answers
You might want to look into using LMDB with Lightning Stream for storage, potentially in combination with S3 (like rook ceph). Also, dnsdist is a great DNS-specific load balancer to consider.
I think you’ll find that using Cloud Native PostgreSQL (CNPG) is a strong choice for your database cluster. It will manage replication and allow you to use local storage on each node, simplifying your setup. For load balancing, depending on your setup, MetalLB is a solid choice, and you can opt for either L2 mode for simplicity or BGP for more advanced control.
In my past experience, I used a separate CoreDNS deployment, running Cilium with BGP for better networking. This setup allowed me to have two distinct deployments with separate load balancer IPs for redundancy.
For database storage, I'd recommend checking out a cloud-native PostgreSQL operator. Another option is to run PostgreSQL externally. As for load balancing, MetalLB works well for DNS IPs and can handle your needs effectively!

Related Questions
Can't Load PhpMyadmin On After Server Update
Redirect www to non-www in Apache Conf
How To Check If Your SSL Cert Is SHA 1
Windows TrackPad Gestures