apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: api namespace: voice-platform spec: minAvailable: 1 selector: matchLabels: app.kubernetes.io/name: voice-platform-api --- apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: callbacks namespace: voice-platform spec: minAvailable: 1 selector: matchLabels: app.kubernetes.io/name: voice-platform-callbacks --- apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: worker namespace: voice-platform spec: minAvailable: 1 selector: matchLabels: app.kubernetes.io/name: voice-platform-worker --- apiVersion: policy/v1 kind: PodDisruptionBudget metadata: name: web namespace: voice-platform spec: minAvailable: 1 selector: matchLabels: app.kubernetes.io/name: voice-platform-web --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: api namespace: voice-platform spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: api minReplicas: 2 maxReplicas: 10 behavior: scaleDown: stabilizationWindowSeconds: 300 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: callbacks namespace: voice-platform spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: callbacks minReplicas: 2 maxReplicas: 8 behavior: scaleDown: stabilizationWindowSeconds: 300 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: worker namespace: voice-platform spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: worker minReplicas: 2 maxReplicas: 8 behavior: scaleDown: stabilizationWindowSeconds: 300 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70 --- apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: web namespace: voice-platform spec: scaleTargetRef: apiVersion: apps/v1 kind: Deployment name: web minReplicas: 2 maxReplicas: 6 behavior: scaleDown: stabilizationWindowSeconds: 300 metrics: - type: Resource resource: name: cpu target: type: Utilization averageUtilization: 70