Docs: add docs for feature gates and update boot parameters (#1032)

Signed-off-by: Yin Da <yd219913@alibaba-inc.com>

Signed-off-by: Yin Da <yd219913@alibaba-inc.com>
This commit is contained in:
Somefive 2022-10-31 19:26:41 +08:00 committed by GitHub
parent c009afc802
commit e7b2e58281
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 31 additions and 7 deletions

View File

@ -19,10 +19,10 @@ The introduction of bootstrap parameters in KubeVela controller are listed as be
| definition-revision-limit | int | 20 | The maximum number of definition revisions to keep |
| autogen-workload-definition | bool | true | Generate WorkloadDefinition for ComponentDefinition automatically |
| health-addr | string | :9440 | The address of health check |
| apply-once-only | string | false | The Workload and Trait will not change after being applied. Used in specific scenario |
| disable-caps | string | "" | Disable internal capabilities |
| storage-driver | string | Local | The storage driver for applications |
| application-re-sync-period | time | 5m | Re-sync period for application to re-sync, also known as the state-keep interval. |
| informer-sync-period | time | 10h | The re-sync period for informer in controller-runtime. This is a system-level configuration. |
| reconcile-timeout | time | 3m | The timeout for controller reconcile. |
| system-definition-namespace | string | vela-system | The namespace for storing system definitions |
| concurrent-reconciles | int | 4 | The number of threads that controller uses to process requests |
@ -35,6 +35,9 @@ The introduction of bootstrap parameters in KubeVela controller are listed as be
| max-workflow-wait-backoff-time | int | 60 | the maximal backoff interval for workflow to retry when workflow step is waiting (unit: second) |
| max-workflow-failed-backoff-time | int | 300 | the maximal backoff interval for workflow to retry when workflow step fails (unit: second) |
| max-workflow-step-error-retry-times | int | 10 | the maximal retry times for workflow to retry when workflow step fails |
| reconcile-timeout | time | 3m | the timeout for controller reconcile |
| reconcile-termination-graceful-period | time | 5s | graceful period for terminating reconcile |
> Other parameters not listed in the table are old parameters used in previous versions, the latest version ( v1.1 ) does not use them.
@ -47,3 +50,12 @@ The introduction of bootstrap parameters in KubeVela controller are listed as be
- **perf-enabled**: Use this flag if you would like to check time costs for different stages when reconciling applications. Switch it off to simplify loggings.
> Several sets of recommended parameter configurations are enclosed in section [Performance Fine-tuning](./performance-finetuning).
## Feature Gates
You can use `--feature-gates=XXX=true` to enable feature `XXX`. There are a list of feature gates allow you to enable advanced features or alpha features.
- **AuthenticateApplication**: enable the authentication for application.
- **ZstdResourceTracker**: enables the zstd compression for ResourceTracker. It can be useful if you have large application that needs to dispatch lots of resources or large resources (like CRD or huge ConfigMap), which at the cost of slower processing speed due to the extra overhead for compression and decompression.
- **ApplyOnce**: enable the apply-once feature for all applications. If enabled, no StateKeep will be run, ResourceTracker will also disable the storage of all resource data, only metadata will be kept.
- **MultiStageComponentApply**: enable multi-stage feature for component. If enabled, the dispatch of manifests is performed in batches according to the stage.

View File

@ -23,7 +23,9 @@ KubeVela 控制器的各项启动参数及其说明如下。
| disable-caps | string | "" | 禁用内置的能力 |
| storage-driver | string | Local | 应用文件的存储驱动 |
| application-re-sync-period | time | 5m | 无变更情况下,控制器维护应用资源的周期 |
| informer-sync-period | time | 10h | 系统参数,用于配置 controller-runtime 基础库中的轮询同步间隔。 |
| reconcile-timeout | time | 3m | 控制器单轮轮询的超时时间 |
| reconcile-termination-graceful-period | time | 5s | 当单次应用处理超时时,用于记录状态的额外允许时间。|
| system-definition-namespace | string | vela-system | 系统级特征定义的命名空间 |
| concurrent-reconciles | int | 4 | 控制器处理请求的并发线程数 |
| kube-api-qps | int | 50 | 控制器访问 apiserver 的速率 |
@ -47,3 +49,13 @@ KubeVela 控制器的各项启动参数及其说明如下。
- **perf-enabled**: 启用时可以在日志中看到 KubeVela 控制器管理应用时各个阶段的时间开销,关闭可以简化日志记录
> [性能调优](./performance-finetuning)章节中包含了若干组不同场景下的推荐参数配置。
## 可选能力
你可以为控制器配置 `--feature-gates=XXX=true` 来启用 `XXX` 能力。下列配置默认不启用,你可以通过开启这些参数来配置控制器的能力。
- **AuthenticateApplication**: 对应用进行鉴权。
- **ZstdResourceTracker**: 对 ResourceTracker 的存储使用 Zstd 压缩。当你的系统中有较大应用并需要管控较多资源时,启用这个能力可以大幅节约你的系统存储开销(并略微增加运算开销)。
- **ApplyOnce**: 为所有应用都启用 ApplyOnce 能力禁用全部状态维持。ResourceTracker 将不会存储资源的详细信息,进而大幅节约系统存储开销。
- **MultiStageComponentApply**: 启用多阶段组件资源部署能力。当启用时,组件内的资源下发可分不同批次下发。