shaikhsalman commited on
Commit
20b0f17
·
verified ·
1 Parent(s): 8d1369e

Upload k8s/base/pdbs/pdbs.yaml with huggingface_hub

Browse files
Files changed (1) hide show
  1. k8s/base/pdbs/pdbs.yaml +62 -0
k8s/base/pdbs/pdbs.yaml ADDED
@@ -0,0 +1,62 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ # =============================================================================
2
+ # Pod Disruption Budgets — Availability Guarantees Per Workload
3
+ # =============================================================================
4
+ # PDBs prevent voluntary evictions (upgrades, drain) from taking down too many pods.
5
+ # Without PDBs: kubectl drain or cluster-autoscaler can cause unplanned outages.
6
+ # =============================================================================
7
+
8
+ apiVersion: policy/v1
9
+ kind: PodDisruptionBudget
10
+ metadata:
11
+ name: frontend-pdb
12
+ namespace: frontend
13
+ spec:
14
+ minAvailable: 2 # At least 2 pods always running (3 replicas total)
15
+ selector:
16
+ matchLabels:
17
+ app: frontend
18
+ ---
19
+ apiVersion: policy/v1
20
+ kind: PodDisruptionBudget
21
+ metadata:
22
+ name: backend-pdb
23
+ namespace: backend
24
+ spec:
25
+ minAvailable: 2
26
+ selector:
27
+ matchLabels:
28
+ app: backend
29
+ ---
30
+ apiVersion: policy/v1
31
+ kind: PodDisruptionBudget
32
+ metadata:
33
+ name: ml-inference-pdb
34
+ namespace: ml-pipeline
35
+ spec:
36
+ maxUnavailable: 1 # At most 1 pod disrupted at a time
37
+ selector:
38
+ matchLabels:
39
+ app: ml-inference
40
+ ---
41
+ # Platform services — always keep 1 available
42
+ apiVersion: policy/v1
43
+ kind: PodDisruptionBudget
44
+ metadata:
45
+ name: prometheus-pdb
46
+ namespace: monitoring
47
+ spec:
48
+ minAvailable: 1
49
+ selector:
50
+ matchLabels:
51
+ app: kube-prometheus-stack-prometheus
52
+ ---
53
+ apiVersion: policy/v1
54
+ kind: PodDisruptionBudget
55
+ metadata:
56
+ name: argocd-pdb
57
+ namespace: platform-system
58
+ spec:
59
+ minAvailable: 1
60
+ selector:
61
+ matchLabels:
62
+ app.kubernetes.io/name: argocd