apache / apache/openserverless
[OPERATOR] PodDisruptionBudget is deployed even if ETCD has 1 replicas
- Dominant language
- Python
- Stars
- 576
- Forks
- 29
- Avg merge
- 50m
- Merged PRs (30d)
- 13
Description
- [ ] I have searched the [issues](https://github.com/apache/openserverless/issues) of this repository and believe that this is not a duplicate.
### Ⅰ. Issue Description
If we deploy Openserverless with `etcd.config.replicas: 1`, the Operator still deploys the PodDisruptionBudget (nuvolaris-etcd) resource and this prevents node drains.
### Ⅱ. Describe what happened
PodDisruptionBudget (nuvolaris-etcd) resource prevents k8s node drains (and a manual change on PDB resource is required to make the drain go ahead)
### Ⅲ. Describe what you expected to happen
PodDisruptionBudget (nuvolaris-etcd) should not be deployed if Openserverless is configured with `etcd.config.replicas: 1`.
### Ⅳ. How to reproduce it (as minimally and precisely as possible)
1. Deploy Openserverless with `etcd.config.replicas: 1`
2. Drain a master node
Minimal yet complete reproducer code (or URL to code):
### Ⅴ. Anything else we need to know?
The issue is probabily related to this file:
[https://github.com/apache/openserverless-operator/blob/main/deploy/etcd/etcd-policy.yaml](https://github.com/apache/openserverless-operator/blob/main/deploy/etcd/etcd-policy.yaml)
Maybe a condition should manage the deployment (or not) of manifest above.
### Ⅵ. Environment:
- K8S Runtime and version: k3s v1.29.3+k3s1
- OPS CLI version: 0.1.0-2409121919.dev
Contributor guide
Research direction
Start with deploy/etcd/etcd-policy.yaml and inspect how the Operator renders this manifest from etcd.config.replicas. Reproduce the deployment with one replica and confirm the PodDisruptionBudget blocks node draining. Done means the PDB is absent for one replica while its existing behavior remains unchanged for higher replica counts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- kubernetes
- Domain
- devops, infrastructure
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 48/100