Per-component priorityClassName and update strategy; extend topologySpreadConstraints; remove unused hpa values
- 主要語言
- Python
- 星號
- 22.1k
- 分支
- 5.4k
- 平均合併
- 5 小時
- 30 天內合併 PR
- 671
描述
The airbyte-platform PR template directs contributions here, so filing this as an issue with a ready patch.
## Proposed change
Three small, related completions of the chart v2 scheduling surface:
1. `priorityClassName` for all workloads. Every component already exposes `nodeSelector`, `tolerations` and `affinity`; this adds the one standard scheduling field missing everywhere, in the identical guarded shape the existing `nodeSelector` blocks use.
2. `deploymentStrategyType` for the six components that currently hardcode their strategy (workload-launcher, connector-rollout-worker and metrics hardcode `Recreate`; featureflag-server, stigg-sidecar and workload-api-server hardcode `RollingUpdate`). Each new value defaults to the component's current literal, so nothing changes unless an operator opts in. This makes the strategy configurable; it does not change any default behavior.
3. `topologySpreadConstraints` for worker, workload-launcher and workload-api-server, extending the block airbyte-server already has.
Also removes the four `hpa: {enabled: false}` blocks in values.yaml that no template consumes; they read as a supported feature but render nothing.
## Why
Production self-managed clusters using preemption tiers and zone spreading currently cannot express either for most Airbyte components. The strategy knob matters for single-replica components on clusters where `Recreate` downtime windows are policy-relevant, while keeping the safe defaults for components where `Recreate` may be load-bearing.
## How
`priorityClassName` and `topologySpreadConstraints` reuse the existing passthrough patterns already used for `nodeSelector` and `affinity`. Every new value carries a `# --` helm-docs annotation. Renders with default values are unchanged. No changes to autogenerated files under templates/config.
A ready patch is available at https://github.com/airbytehq/airbyte-platform/compare/main...RafPe:airbyte-platform:chart-scheduling-disruption-surfaces; happy to open it as a PR wherever you prefer.
---
**Internal Tracking:** https://github.com/airbytehq/oncall/issues/13246
貢獻指南
研究方向
Start in the chart v2 values.yaml and the workload templates/config, using airbyte-server's existing topologySpreadConstraints block and nodeSelector guards as entry points. Check the six named strategy fields and all workload scheduling blocks, then render with default values; done means the new Helm values are documented, unused HPA blocks are gone, and default renders remain unchanged.
由索引模型根據 Issue 內容生成。
評估
- 技術堆疊
- helm, kubernetes, yaml
- 領域
- devops, infrastructure
- Issue 類型
- 功能
- 難度
- 4/5
- 預估耗時
- 3-5 天
- 活躍度
- 冷清
- 描述清晰度
- 基本清楚
- 新手友好度
- 55/100