跳到主要内容

部署特殊类型组件

概述

Rainbond 支持在创建组件时选择不同的部署类型。除常见的无状态服务和有状态服务外,还支持 Job、CronJob 和 DaemonSet 等特殊类型组件。

这些类型适合以下场景:

部署类型适用场景
Job一次性批处理任务,任务完成后容器退出
CronJob定时任务,按 Cron 表达式周期性创建 Job
DaemonSet守护进程组件,在每个符合条件的节点上运行一个实例

详细信息可参考 Kubernetes 官方文档:

创建时选择组件类型

创建组件时,在 基础信息设置 中可以修改组件类型。根据业务场景选择对应类型:

组件类型页面说明适用场景
任务(Job类型)部署为任务(Job类型),一般用于一次性任务,完成后容器就退出。数据初始化、一次性脚本、离线批处理
周期性任务(Cronjob类型)部署为周期性任务(Cronjob类型),一般用于处理周期性的、需反复执行的定时任务。定时同步、定时报表、定时清理
守护进程组件(DaemonSet类型)部署为守护进程组件(DaemonSet类型),一般用于每个节点都需要运行的日志、监控、节点代理类组件。日志采集、节点监控、节点代理

创建完成后,如果需要修改组件部署类型,进入组件的 高级 -> 设置 -> 其他设置,在组件部署类型中调整。

部署 Job 组件

Job 适合运行一次性任务,例如数据初始化、离线批处理、一次性脚本执行等。创建组件时,在 基础信息设置 中将组件类型修改为 部署为任务(Job类型),一般用于一次性任务,完成后容器就退出。

Job 任务执行完成后,可以点击重启按钮重新执行该任务,也可以点击关闭任务。

部署 CronJob 组件

CronJob 适合运行周期性任务,例如定时同步、定时报表、定时清理等。创建组件时,在 基础信息设置 中将组件类型修改为 部署为周期性任务(Cronjob类型),一般用于处理周期性的、需反复执行的定时任务。

常见任务策略包括:

  • 定时配置:CronJob 类型必填,例如 */1 * * * * 表示每分钟执行一次
  • 最大重试次数:任务失败后的重试次数
  • 并行任务数:允许同时运行的 Pod 数量
  • 最大运行时间:任务运行超过指定秒数后停止
  • 完成数:完成该 Job 需要成功结束的 Pod 数量

CronJob 任务状态可在组件页面查看。

部署 DaemonSet 组件

DaemonSet 在 Rainbond 中显示为 守护进程组件(DaemonSet类型)。它会在每个符合调度条件的节点上运行一个组件实例,适合部署节点级服务。

常见使用场景包括:

  • 日志采集 Agent
  • 节点监控 Agent
  • 网络或存储节点代理
  • 每个节点都需要运行的系统辅助服务

创建方式:

  1. 创建组件时进入 基础信息设置
  2. 部署类型选择 守护进程组件(DaemonSet类型)
  3. 根据需要配置镜像、环境变量、存储和 Kubernetes 高级属性。
  4. 创建组件并等待实例调度完成。

DaemonSet 的实例数量由集群节点和调度条件决定,不适合像普通无状态组件一样手动设置固定副本数。如果需要限制运行节点,可通过 Kubernetes 高级属性配置 nodeSelectoraffinitytolerations

注意

DaemonSet 类型暂不支持与其他组件部署类型在线互相切换。若需要从普通组件改为 DaemonSet,建议重新创建组件,并在变更前确认业务访问、存储和节点调度策略。

修改部署类型和任务策略

创建组件后,可以进入组件的 高级 -> 设置 -> 其他设置 查看和修改组件部署类型、任务策略等配置。修改后需要按页面提示更新组件,使配置生效。