Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions egress-sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -50,6 +50,14 @@ autoscaling:
# metricName: my_metric_name
# targetAverageValue: 70

# PodDisruptionBudget - recommended for production to maintain availability during node drains
# Uncomment to enable:
# podDisruptionBudget:
# enabled: true
# minAvailable: 1 # Keep at least 1 pod available during disruptions
# OR use maxUnavailable instead:
# maxUnavailable: 1 # Allow at most 1 pod to be unavailable

# if egress should run only on specific nodes
# this can be used to isolate designated nodes
nodeSelector: {}
Expand Down
18 changes: 18 additions & 0 deletions egress/templates/poddisruptionbudget.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.podDisruptionBudget.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "egress.fullname" . }}
labels:
{{- include "egress.labels" . | nindent 4 }}
spec:
{{- if .Values.podDisruptionBudget.minAvailable }}
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
{{- end }}
{{- if .Values.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
{{- end }}
selector:
matchLabels:
{{- include "egress.selectorLabels" . | nindent 6 }}
{{- end }}
9 changes: 9 additions & 0 deletions egress/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,15 @@ fullnameOverride: ""
autoscaling:
enabled: false

# PodDisruptionBudget configuration
# Helps maintain availability during voluntary disruptions (node draining, cluster autoscaling, etc.)
# Recommended for production deployments with multiple replicas
podDisruptionBudget:
enabled: false
# minAvailable: 1 # Minimum number of pods that must be available
# maxUnavailable: 1 # Maximum number of pods that can be unavailable
# Note: Use either minAvailable or maxUnavailable, not both

nodeSelector: {}

resources: {}
Expand Down
8 changes: 8 additions & 0 deletions ingress-sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -47,6 +47,14 @@ autoscaling:
# metricName: my_metric_name
# targetAverageValue: 70

# PodDisruptionBudget - recommended for production to maintain availability during node drains
# Uncomment to enable:
# podDisruptionBudget:
# enabled: true
# minAvailable: 1 # Keep at least 1 pod available during disruptions
# OR use maxUnavailable instead:
# maxUnavailable: 1 # Allow at most 1 pod to be unavailable

# if ingress should run only on specific nodes
# this can be used to isolate designated nodes
nodeSelector: {}
Expand Down
18 changes: 18 additions & 0 deletions ingress/templates/poddisruptionbudget.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.podDisruptionBudget.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "ingress.fullname" . }}
labels:
{{- include "ingress.labels" . | nindent 4 }}
spec:
{{- if .Values.podDisruptionBudget.minAvailable }}
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
{{- end }}
{{- if .Values.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
{{- end }}
selector:
matchLabels:
{{- include "ingress.selectorLabels" . | nindent 6 }}
{{- end }}
9 changes: 9 additions & 0 deletions ingress/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -38,6 +38,15 @@ fullnameOverride: ""
autoscaling:
enabled: false

# PodDisruptionBudget configuration
# Helps maintain availability during voluntary disruptions (node draining, cluster autoscaling, etc.)
# Recommended for production deployments with multiple replicas
podDisruptionBudget:
enabled: false
# minAvailable: 1 # Minimum number of pods that must be available
# maxUnavailable: 1 # Maximum number of pods that can be unavailable
# Note: Use either minAvailable or maxUnavailable, not both

nodeSelector: {}

resources: {}
Expand Down
18 changes: 18 additions & 0 deletions livekit-server/templates/poddisruptionbudget.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
{{- if .Values.podDisruptionBudget.enabled }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "livekit-server.fullname" . }}
labels:
{{- include "livekit-server.labels" . | nindent 4 }}
spec:
{{- if .Values.podDisruptionBudget.minAvailable }}
minAvailable: {{ .Values.podDisruptionBudget.minAvailable }}
{{- end }}
{{- if .Values.podDisruptionBudget.maxUnavailable }}
maxUnavailable: {{ .Values.podDisruptionBudget.maxUnavailable }}
{{- end }}
selector:
matchLabels:
{{- include "livekit-server.selectorLabels" . | nindent 6 }}
{{- end }}
9 changes: 9 additions & 0 deletions livekit-server/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,15 @@ autoscaling:
targetCPUUtilizationPercentage: 60
# targetMemoryUtilizationPercentage: 80

# PodDisruptionBudget configuration
# Helps maintain availability during voluntary disruptions (node draining, cluster autoscaling, etc.)
# Recommended for production deployments with multiple replicas
podDisruptionBudget:
enabled: false
# minAvailable: 1 # Minimum number of pods that must be available
# maxUnavailable: 1 # Maximum number of pods that can be unavailable
# Note: Use either minAvailable or maxUnavailable, not both

# if LiveKit should run only on specific nodes
# this can be used to isolate designated nodes
nodeSelector:
Expand Down
7 changes: 7 additions & 0 deletions server-sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,13 @@ autoscaling:
maxReplicas: 5
targetCPUUtilizationPercentage: 60

# PodDisruptionBudget, recommended for production to maintain availability during node drains
# podDisruptionBudget:
# enabled: true
# minAvailable: 1 # Keep at least 1 pod available during disruptions
# OR use maxUnavailable instead:
# maxUnavailable: 1 # Allow at most 1 pod to be unavailable

# if LiveKit should run only on specific nodes
# this can be used to isolate designated nodes
nodeSelector:
Expand Down