Dynatrace Operator version 1.9.0+
You can customize the replicas, topologySpreadConstraints, and podDisruptionBudget values independently:
The examples below use Helm values. If you deploy using manifests, you can achieve the same by adjusting the corresponding sections in your deployment manifest directly.
webhook:# highAvailability: true # Deprecated, use the following values insteadreplicas: 2topologySpreadConstraints:- maxSkew: 1topologyKey: "topology.kubernetes.io/zone"whenUnsatisfiable: ScheduleAnywaylabelSelector:matchLabels:internal.dynatrace.com/app: webhookinternal.dynatrace.com/component: webhook- maxSkew: 1topologyKey: "kubernetes.io/hostname"whenUnsatisfiable: ScheduleAnywaynodeTaintsPolicy: HonorlabelSelector:matchLabels:internal.dynatrace.com/app: webhookinternal.dynatrace.com/component: webhookpodDisruptionBudget:minAvailable: 1selector:matchLabels:internal.dynatrace.com/app: webhookinternal.dynatrace.com/component: webhook
You must keep highAvailability set to true (the default value) for the replicas, topologySpreadConstraints, and podDisruptionBudget values to take effect. If you set highAvailability to false, these fields are ignored. This ensures backward compatibility for users who previously disabled the high availability mode.
The default topologySpreadConstraints is now whenUnsatisfiable: ScheduleAnyway instead of the previous whenUnsatisfiable: DoNotSchedule. This change makes scheduling less aggressive, so the webhook pods can still be scheduled in environments where only a few nodes (one or two) are available. Previously, DoNotSchedule could prevent pods from being scheduled if the topology constraints couldn't be fully satisfied.
highAvailability Helm value (deprecated) Dynatrace Operator version 0.6.0+
Starting with Operator version 1.9.0, the highAvailability value is deprecated in favor of the replicas, topologySpreadConstraints, and podDisruptionBudget values. See Configure high availability for the recommended approach.
The legacy highAvailability Helm value offered the following capabilities: