Is DRBD Still Relevant for Kubernetes Applications?
Asked by
TechWizard42
I'm curious if there's a practical use-case for using DRBD (Distributed Replicated Block Device) in Kubernetes environments. We're currently satisfied with cnPG and local storage for our Fast storage solutions, where replication is managed effectively by our controller tools. If I had to design an application from scratch, I'd lean towards using object storage, cnPG, or similar options along with a cache like Redis. Outside of legacy applications that require a block device, is there any situation today where DRBD makes sense?
Answers
For prototyping, DRBD might have some use cases, but I personally wouldn't recommend it for production. In years of using LINSTOR with DRBD, we've seen great IOPS, so it can work if properly managed, though challenges in getting local storage from the infra team can complicate things in Kubernetes environments.
Reply to this answer
While application-level replication tends to be better overall, block-level solutions like DRBD can be handy in certain scenarios, especially when traditional applications fail to work well with multiple replicas. They can benefit from having a more reliable and available block storage if nodes go down, allowing for easier rescheduling.
Reply to this answer
If your applications rely heavily on block storage, you might find a good use for DRBD within Kubernetes. Many legacy applications exist that aren't designed for modern cloud-native setups but can still experience improved availability using DRBD. It's more about the kind of application you're running and how it handles its state.
Reply to this answer
DRBD is primarily designed for block devices. Many applications still aren't optimized for object storage like S3, so DRBD plays a crucial role in replicating local storage across nodes, especially when using tools like Piraeus Operator that utilize DRBD with LINSTOR for management. Using DRBD directly might not be ideal anymore, but it can still be effectively managed by infrastructure teams.
Reply to this answer
In Kubernetes, local block storage definitely delivers the best performance and can provide high availability. However, if you already have high availability solutions like CloudNativePG in place, layering DRBD might not be necessary unless you're considering specific use cases where it could add value.
Reply to this answer
Add your answer
Answers are reviewed before publication.
Related Discussions