apache / apache/openserverless
[OPERATOR] PodDisruptionBudget is deployed even if ETCD has 1 replicas
- 主要言語
- Python
- スター
- 576
- フォーク
- 29
- 平均マージ
- 50分
- マージ済み PR(30日)
- 13
説明
- [ ] 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
コントリビューションガイド
調査の方向性
deploy/etcd/etcd-policy.yaml から始め、Operator が etcd.config.replicas からこのマニフェストをどのようにレンダリングするかを調べます。1 replica で deployment を再現し、PodDisruptionBudget がノードの drain をブロックすることを確認します。1 replica の場合は PDB が存在せず、replica 数が多い場合の既存の動作は変わらないことが完了条件です。
索引モデルが issue の本文から書いたものです。
評価
- 技術スタック
- kubernetes
- 領域
- devops, infrastructure
- issue の種類
- バグ
- 難易度
- 3/5
- 見積もり時間
- 1〜2日
- 活発さ
- 停滞
- 明瞭さ
- おおむね明確
- 初心者へのやさしさ
- 48/100