apache / apache/openserverless
[OPERATOR] PodDisruptionBudget is deployed even if ETCD has 1 replicas
- Lingua principale
- Python
- Stelle
- 576
- Fork
- 29
- Merge medio
- 50m
- PR unite (30g)
- 13
Descrizione
- [ ] 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
Guida per i contributori
Apri la guida per i contributori
Direzione di ricerca
Inizia da deploy/etcd/etcd-policy.yaml e analizza come l’Operator esegue il rendering di questo manifest a partire da etcd.config.replicas. Riproduci il deployment con una replica e conferma che il PodDisruptionBudget blocca lo svuotamento del nodo. Il lavoro è completato quando il PDB è assente per una replica, mentre il comportamento esistente rimane invariato per un numero maggiore di repliche.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- kubernetes
- Ambito
- devops, infrastructure
- Tipo di issue
- Bug
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Stato di attività
- Ferma
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100