feat(chart): add optional PodDisruptionBudget for php-fpm and nginx - #175
Open
danielqb wants to merge 1 commit into
Open
feat(chart): add optional PodDisruptionBudget for php-fpm and nginx#175danielqb wants to merge 1 commit into
danielqb wants to merge 1 commit into
Conversation
## Problem Neither php-fpm nor nginx had a PodDisruptionBudget, so there was no guardrail against voluntary disruptions (node drains, cluster-autoscaler scale-downs) taking down every replica at once when replicaCount > 1. ## Fix Added templates/glpi-poddisruptionbudget.yaml with independent PDBs for php-fpm and nginx, each gated behind its own `pdb.enabled` (default false). Defaulted to disabled rather than enabled-by-default because the chart's default replicaCount is 1 for both components, and a PDB requiring minAvailable: 1 (or maxUnavailable: 0) on a single-replica workload permanently blocks voluntary evictions - Kubernetes can never satisfy the budget. This is documented inline in values.yaml. Supports both minAvailable and maxUnavailable (minAvailable takes precedence when set). ## Testing - helm lint: 0 failures - helm template (default): no PDB rendered - helm template --set glpi.phpfpm.pdb.enabled=true --set glpi.phpfpm.pdb.minAvailable=1 --set glpi.nginx.pdb.enabled=true: both PDBs render with correct selectors
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.
Problem
Neither php-fpm nor nginx had a PodDisruptionBudget, so there was no
guardrail against voluntary disruptions (node drains, cluster-autoscaler
scale-downs) taking down every replica at once when replicaCount > 1.
Fix
Added templates/glpi-poddisruptionbudget.yaml with independent PDBs for
php-fpm and nginx, each gated behind its own
pdb.enabled(defaultfalse). Defaulted to disabled rather than enabled-by-default because the
chart's default replicaCount is 1 for both components, and a PDB
requiring minAvailable: 1 (or maxUnavailable: 0) on a single-replica
workload permanently blocks voluntary evictions - Kubernetes can never
satisfy the budget. This is documented inline in values.yaml. Supports
both minAvailable and maxUnavailable (minAvailable takes precedence when
set).
Testing
glpi.phpfpm.pdb.minAvailable=1 --set glpi.nginx.pdb.enabled=true:
both PDBs render with correct selectors