Pin puppet master to a single Recreate replica #341

Merged
benvin merged 1 commits from benvin/puppet-master-single into main 2026-08-08 20:02:39 +10:00
4 changed files with 5 additions and 42 deletions
@@ -12,12 +12,13 @@ metadata:
name: puppetserver-master
namespace: puppet
spec:
replicas: 1
selector:
matchLabels:
app.kubernetes.io/component: puppetserver
app.kubernetes.io/name: puppetserver
strategy:
type: RollingUpdate
type: Recreate
template:
metadata:
annotations:
@@ -1,37 +0,0 @@
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
labels:
app.kubernetes.io/component: puppetserver
app.kubernetes.io/instance: puppetserver
app.kubernetes.io/name: puppetserver
app.kubernetes.io/version: 8.8.0
name: puppetserver-masters-autoscaler
namespace: puppet
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: puppetserver-master
minReplicas: 2
maxReplicas: 5
metrics:
- resource:
name: cpu
target:
averageUtilization: 75
type: Utilization
type: Resource
behavior:
scaleUp:
stabilizationWindowSeconds: 60
policies:
- type: Percent
value: 50
periodSeconds: 15
scaleDown:
stabilizationWindowSeconds: 300
policies:
- type: Percent
value: 25
periodSeconds: 60
-1
View File
@@ -23,7 +23,6 @@ resources:
- deployment_puppetdb.yaml
- deployment_puppetserver-master.yaml
- horizontalpodautoscaler_puppetserver-compilers-autoscaler.yaml
- horizontalpodautoscaler_puppetserver-masters-autoscaler.yaml
- horizontalpodautoscaler_puppetserver-puppetboard-autoscaler.yaml
- horizontalpodautoscaler_puppetserver-puppetdb-autoscaler.yaml
- gateway_puppetboard.yaml
+3 -3
View File
@@ -52,9 +52,9 @@ kind: VerticalPodAutoscaler
metadata:
name: puppetserver-master-vpa
namespace: puppet
# NOTE: this workload also has an HPA. updateMode Off is recommendation-only
# and does not act, so there is no HPA/VPA conflict today. Do not flip to Auto/
# Initial without first moving the HPA off CPU/memory (VPA owns those under Auto).
# NOTE: the master is a pinned single replica (Recreate, no HPA) so the CA/master
# never coexists. updateMode Off keeps this recommendation-only; do not flip to
# Auto/Initial, which would evict and briefly recreate the singleton pod.
spec:
targetRef:
apiVersion: apps/v1