安装 Drycc Workflow

本文档面向那些已经配置了 Kubernetes 集群并想要安装 Drycc Workflow 的人。

如果需要有关 Kubernetes 和 Drycc Workflow 入门的帮助,请遵循快速入门指南以获取帮助。

先决条件

  1. 验证 Kubernetes 系统要求
  2. 安装 Helm 和 Drycc Workflow CLI 工具

检查您的设置

检查 helm 命令是否可用且版本为 v2.5.0 或更新版本。

$ helm version
Client: &version.Version{SemVer:"v2.5.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"}
Server: &version.Version{SemVer:"v2.5.0", GitCommit:"012cb0ac1a1b2f888144ef5a67b8dab6c2d45be6", GitTreeState:"clean"}

选择您的部署策略

Drycc Workflow 包含运行所需的一切。然而,这些默认设置旨在简单而不是生产就绪。Workflow 的生产和暂存部署至少应该使用集群外存储,Workflow 组件使用它来存储和备份关键数据。如果操作员需要完全重新安装 Workflow,所需组件可以从集群外存储恢复。有关更多详细信息,请参阅配置对象存储的文档。

更严格的安装将受益于对以下内容使用外部来源:

网关

现在,workflow 要求必须安装网关和 cert-manager。可以使用任何兼容的 Kubernetes 入口控制器。

安装 Drycc Workflow

如果 helm 版本为 3.0+;您需要提前创建命名空间:

kubectl create ns drycc

如果您想更改它,请在使用 helm 时设置变量。

$ helm install drycc oci://registry.drycc.cc/charts/workflow \
    --namespace drycc \
    --set builder.imageRegistry=quay.io \
    --set imagebuilder.imageRegistry=quay.io \
    --set controller.imageRegistry=quay.io \
    --set database.imageRegistry=quay.io \
    --set fluentbit.imageRegistry=quay.io \
    --set valkey.imageRegistry=quay.io \
    --set storage.imageRegistry=quay.io \
    --set grafana.imageRegistry=quay.io \
    --set registry.imageRegistry=quay.io \
    --set global.platformDomain=drycc.cc

Helm 将在 drycc 命名空间中安装各种 Kubernetes 资源。 等待 Helm 启动的 pod 准备就绪。通过运行以下命令监控其状态:

$ kubectl --namespace=drycc get pods

如果希望 kubectl 在 pod 状态更改时自动更新,请运行(键入 Ctrl-C 停止监视):

$ kubectl --namespace=drycc get pods -w

根据 Workflow 组件初始化的顺序,一些 pod 可能会重新启动。这在安装期间很常见:如果组件的依赖项尚不可用,该组件将退出,Kubernetes 将自动重新启动它。

在这里,可以看到控制器、构建器和注册表都花了几次循环才能启动:

$ kubectl --namespace=drycc get pods
NAME                                     READY     STATUS    RESTARTS   AGE
drycc-builder-574483744-l15zj             1/1       Running   0          4m
drycc-controller-3953262871-pncgq         1/1       Running   2          4m
drycc-controller-celery-cmxxn             3/3       Running   0          4m
drycc-database-83844344-47ld6             1/1       Running   0          4m
drycc-fluentbit-zxnqb                     1/1       Running   0          4m
drycc-valkey-304849759-1f35p              1/1       Running   0          4m
drycc-storage-676004970-nxqgt             1/1       Running   0          4m
drycc-monitor-grafana-432627134-lnl2h     1/1       Running   0          4m
drycc-monitor-telegraf-wmcmn              1/1       Running   1          4m
drycc-registry-756475849-lwc6b            1/1       Running   1          4m
drycc-registry-proxy-96c4p                1/1       Running   0          4m

一旦所有 pod 都处于 READY 状态,Drycc Workflow 就启动并运行了!

有关更多安装参数,请检查 workflow 的 values.yaml 文件。

安装 Workflow 后,注册用户并部署应用程序

配置 DNS

用户必须设置主机名,并采用 drycc-builder.$host 约定。

我们需要将 drycc-builder.$host 记录指向您的构建器的公共 IP 地址。您可以使用以下命令获取公共 IP。这里需要通配符条目,因为应用程序在部署后将使用相同的规则。

$ kubectl get svc drycc-builder --namespace drycc
NAME              CLUSTER-IP   EXTERNAL-IP      PORT(S)                      AGE
drycc-builder     10.0.25.3    138.91.243.152   2222:31625/TCP               33m

如果我们使用 drycc.cc 作为主机名,我们需要创建以下 A DNS 记录。

名称 类型
drycc-builder.drycc.cc A 138.91.243.152

一旦所有 pod 都处于 READY 状态,并且 drycc-builder.$host 解析为上面找到的外部 IP,Workflow 就启动并运行了!

安装 Workflow 后,注册用户并部署应用程序

如果您的 k8s 不提供公共网络负载均衡器,您需要在可以访问内部和外部网络的机器上安装 haproxy 等 TCP 代理服务,然后公开 80443


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