调整组件设置

Helm Charts 是一组 Kubernetes 清单,反映了在 Kubernetes 上部署应用程序或服务的最佳实践。

在添加 Drycc Chart Repository 后,您可以在使用 helm install 完成安装之前,使用 helm inspect values drycc/workflow > values.yaml 来自定义图表。

有几种方法可以自定义相应组件:

  • 如果值在上面派生的 values.yaml 文件中暴露,可以修改组件的部分来调整这些设置。修改的值将在图表安装或发布升级时通过以下两个相应命令之一生效:

     $ helm install drycc oci://registry.drycc.cc/charts/workflow \
         -n drycc \
         --namespace drycc \
         -f values.yaml
     $ helm upgrade drycc oci://registry.drycc.cc/charts/workflow \
         -n drycc \
         --namespace drycc \
         -f values.yaml
    
  • 如果值尚未在 values.yaml 文件中暴露,可以编辑组件部署以调整设置。这里我们编辑 drycc-controller 部署:

     $ kubectl --namespace drycc edit deployment drycc-controller
    

    env 部分下通过适当的环境变量和值添加/编辑设置并保存。更新后的部署将使用新的/修改的设置重新创建组件 pod。

  • 最后,可以获取并编辑版本控制/图表仓库本身提供的图表:

     $ helm fetch oci://registry.drycc.cc/charts/workflow --untar
     $ $EDITOR workflow/charts/controller/templates/controller-deployment.yaml
    

    然后运行 helm install ./workflow --namespace drycc --name drycc 来应用更改,或者如果集群已经在运行,则运行 helm upgrade drycc ./workflow

设置资源限制

您可以通过修改之前获取的 values.yaml 文件来为 Workflow 组件设置资源限制。此文件为每个 Workflow 组件都有一个部分。要为任何 Workflow 组件设置限制,只需在部分中添加 resources 并将其设置为适当的值。

以下是设置了 CPU 和内存限制的 values.yaml 中 builder 部分的样子示例:

builder:
  imageOrg: "drycc"
  imagePullPolicy: "Always"
  imageTag: "canary"
  resources:
    limits:
      cpu: 1000m
      memory: 2048Mi
    requests:
      cpu: 500m
      memory: 1024Mi

自定义 Builder

Builder 组件可以调整以下环境变量:

设置 描述
DEBUG 启用调试日志输出(默认:false)
BUILDER_POD_NODE_SELECTOR builder 作业的节点选择器设置。由于它有时会消耗大量节点资源,您可能希望给定的 builder 作业仅在特定节点上运行,这样就不会影响关键节点。例如 pool:testing,disk:magnetic

自定义 Controller

Controller 组件可以调整以下环境变量:

设置 描述
REGISTRATION_MODE 将注册设置为 “enabled”、“disabled” 或 “admin_only”(默认:“admin_only”)
GUNICORN_WORKERS 生成的 gunicorn 工作进程数量,用于处理请求(默认:CPU 核心数 * 4 + 1)
RESERVED_NAMES 应用程序无法为路由保留的名称的逗号分隔列表(默认:“drycc, drycc-builder”)
DRYCC_DEPLOY_HOOK_URLS 发送 deploy hooks 的 URL 逗号分隔列表。
DRYCC_DEPLOY_HOOK_SECRET_KEY 用于计算部署钩子 HMAC 签名的私钥。
DRYCC_DEPLOY_REJECT_IF_PROCFILE_MISSING 如果之前的构建有 Procfile 但当前部署缺少它,则拒绝部署。API 中抛出 409。防止意外删除进程类型。(默认:“false”,允许值:“true”、“false”)
DRYCC_DEPLOY_PROCFILE_MISSING_REMOVE 开启时(默认),与之前部署相比,Procfile 中缺少的任何进程类型都会被移除。设置为 false 时,将允许空的 Procfile 通过而不移除缺少的进程类型,请注意,新镜像、配置等将在所有进程类型上更新。(默认:“true”,允许值:“true”、“false”)
DRYCC_DEFAULT_CONFIG_TAGS 默认情况下为所有应用程序设置标签,例如:’{“role”: “worker”}’。(默认:’’)
KUBERNETES_NAMESPACE_DEFAULT_QUOTA_SPEC 通过设置 ResourceQuota 规范为应用程序命名空间设置资源配额,例如:{"spec":{"hard":{"pods":"10"}}}, 限制应用所有者生成超过 10 个 pod(默认:"", 不会对命名空间应用配额)

LDAP 认证设置

LDAP 认证的配置选项详细说明此处

Passport 组件中启用用户账户 LDAP 认证的可用环境变量如下:

设置 描述
LDAP_ENDPOINT LDAP 服务器的 URI。如果未指定,则不启用 LDAP 认证(默认:"", 示例:ldap://hostname)。
LDAP_BIND_DN 绑定到 LDAP 服务器时使用的可分辨名称(默认:"")
LDAP_BIND_PASSWORD 与 LDAP_BIND_DN 一起使用的密码(默认:"")
LDAP_USER_BASEDN 用户名的搜索基础的可分辨名称(默认:"")
LDAP_USER_FILTER 用户搜索基础中的登录字段名称(默认:“username”)
LDAP_GROUP_BASEDN 用户组名的搜索基础的可分辨名称(默认:"")
LDAP_GROUP_FILTER 用户组的过滤器(默认:"", 示例:objectClass=person

全局和每个应用程序设置

设置 描述
DRYCC_DEPLOY_BATCHES 缩放期间顺序启动和停止的 pod 数量(默认:可用节点数量)
DRYCC_DEPLOY_TIMEOUT 每个部署批次的部署超时时间(秒)(默认:120)
IMAGE_PULL_POLICY 应用程序镜像的 kubernetes 镜像拉取策略(默认:“IfNotPresent”)(允许值:“Always”、“IfNotPresent”)
KUBERNETES_DEPLOYMENTS_REVISION_HISTORY_LIMIT Kubernetes 为给定 Deployment 保留的修订数量(默认:所有修订)
KUBERNETES_POD_TERMINATION_GRACE_PERIOD_SECONDS 发送 SIGKILL 之前,kubernetes 在 SIGTERM 后等待 pod 完成工作的秒数(默认:30)

有关这些的更多详细信息,请参阅[部署应用][]指南。

自定义数据库

Database 组件可以调整以下环境变量:

设置 描述
BACKUP_FREQUENCY 数据库执行基础备份的频率(默认:“12h”)
BACKUPS_TO_RETAIN 后备存储应保留的基础备份数量(默认:5)

自定义 Fluentbit

以下值可以在 values.yaml 文件中更改,或使用 Helm CLI 的 --values 标志。

描述
config.service 服务部分定义服务的全局属性。
config.inputs 输入部分定义源(与输入插件相关)。
config.filters 过滤器部分定义过滤器(与过滤器插件相关)
config.outputs 输出部分指定某些记录在标签匹配后应遵循的目的地。

有关可以设置的各种变量的更多信息,请参阅 fluentbit

自定义监控

Grafana

我们直接在图表中暴露了一些更有用的配置值。这允许使用 values.yaml 文件或 Helm CLI 的 --set 标志来设置它们。您可以在下面看到这些选项:

设置 默认值 描述
user “admin” 数据库中创建的第一个用户(此用户具有管理员权限)
password “admin” 第一个用户的密码。
allow_sign_up “true” 允许用户注册账户。

有关可以使用环境变量设置的其他选项列表,请参阅 Github 中的配置文件

Victoriametrics

您可以在此处找到可以使用环境变量设置的值列表。

自定义注册表

Registry 组件可以通过遵循 drycc/distribution config doc 来调整。

自定义路由器

大多数路由器设置可以通过注解进行调整,这允许在安装后零停机重新配置路由器。您可以在此处找到要调整的注解列表。

[Router][] 组件可以调整以下环境变量:

设置 描述
POD_NAMESPACE 路由器所在的 pod 命名空间。这是通过 Kubernetes downward API 设置的。

自定义 Workflow Manager

[Workflow Manager][] 可以调整以下环境变量:

设置 描述
CHECK_VERSIONS https://versions.drycc.info/ 启用外部版本检查(默认:“true”)
POLL_INTERVAL_SEC Workflow Manager 执行版本检查的时间间隔(秒)(默认:43200,即 12 小时)
VERSIONS_API_URL 版本 API URL(默认:"https://versions-staging.drycc.info")
DOCTOR_API_URL doctor API URL(默认:"https://doctor-staging.drycc.info")
API_VERSION Workflow Manager 发送到版本 API 的版本号(默认:“v2”)

最后修改 2025.10.09: feat(i18n): add chinese lang (2c1052a)