37 lines
1.1 KiB
YAML
37 lines
1.1 KiB
YAML
# What a node drain may take away.
|
|
#
|
|
# `minAvailable: 1` on both, so a cluster upgrade cannot evict the last pod of either. With the
|
|
# API's 90-second grace period a drain will take a minute or two per pod — that is the run drain
|
|
# doing its job, not a stall.
|
|
apiVersion: policy/v1
|
|
kind: PodDisruptionBudget
|
|
metadata:
|
|
# With the Ingress, after the Deployments they protect. A PodDisruptionBudget naming a
|
|
# selector that matches nothing is not an error and not a warning — it is simply not
|
|
# protecting anything, which is the one state it must never be in quietly.
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "2"
|
|
name: jarvis-api
|
|
namespace: jarvis
|
|
spec:
|
|
minAvailable: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: jarvis
|
|
app.kubernetes.io/component: api
|
|
---
|
|
apiVersion: policy/v1
|
|
kind: PodDisruptionBudget
|
|
metadata:
|
|
# Same wave, same reason.
|
|
annotations:
|
|
argocd.argoproj.io/sync-wave: "2"
|
|
name: jarvis-web
|
|
namespace: jarvis
|
|
spec:
|
|
minAvailable: 1
|
|
selector:
|
|
matchLabels:
|
|
app.kubernetes.io/name: jarvis
|
|
app.kubernetes.io/component: web
|