Consider creating a PDB unique to each sidekiq deployment
Summary
Currently the Pod Distruption Policy is a global setting that takes effect for all sidekiq deployments. If using an advanced deployment strategy where sidekiq has multiple deployments, this may not make sense based on workload. Prime example might be the following:
- The
project_export
queue is one where it's designed to be running jobs over the course of long periods of time, and if jobs are in the queue, it's okay. During a deployment, we can have a high value formaximumUnavailable
. - The
web_hook
queue is one where it's designed where it needs to be fired off as soon as possible. While this particular job is normally short, it would be very disruptive to take out too many Pods responsible for this queue during a deployment. So themaximumUnavailable
configured in the PDB would be very low.
The above are quick, hypothetical examples.
Inspiration: