Writing Hub: StatefulSet Storage HA via Mutating Webhook#8
Open
Vinh1507 wants to merge 2 commits intocloudnativevn:mainfrom
Open
Writing Hub: StatefulSet Storage HA via Mutating Webhook#8Vinh1507 wants to merge 2 commits intocloudnativevn:mainfrom
Vinh1507 wants to merge 2 commits intocloudnativevn:mainfrom
Conversation
…to Each Pod with a Mutating Webhook
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Event
Writing Contest 2026
Topic: Kubernetes Operations & Maintenance
Summary
StatefulSet only allows one
storageClassNameacross all pods. In environments where each StorageClass maps to a distinct storage pool, this means all replicas share the same failure domain — defeating the purpose of HA replication.This article walks through the problem and a practical fix: a Mutating Admission Webhook that intercepts PVC creation and assigns a different StorageClass to each pod based on its ordinal. Opt-in via a label on
volumeClaimTemplates, no changes to the StatefulSet spec required.Coverage