2.5. 自定义 PodSpec 配置


您可以使用 SonataFlow 自定义资源(CR)中的自定义 PodSpec 配置来满足 Red Hat OpenShift 上的特定容器和部署要求。

您可以将此功能用于高级配置,例如:

  • 设置 CPU 和内存请求和限值
  • 添加 sidecar 容器
  • 配置卷和挂载
  • 选择非默认部署模型

无服务器逻辑 Operator 通过 SonataFlow CR 中的 .spec.podTemplate 属性启用这些自定义。

以下示例显示了带有定义的资源请求和限值的 SonataFlow CR,以及工作流容器的环境变量:

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlow
metadata:
  name: <name>
spec:
  podTemplate:
    container:
      resources:
        limits:
          cpu: "250m"
          memory: "128Mi"
        requests:
          cpu: "100m"
          memory: "64Mi"
      env:
        - name: EXAMPLE_VAR
          value: "value"
    # ...

.spec.podTemplate 属性支持标准 Kubernetes PodSpec API 中定义的大多数字段,并应用 Kubernetes API 验证规则。

2.5.1. Knative 部署模型

默认情况下,每个 SonataFlow 实例都部署为 Kubernetes Deployment 对象。要将实例部署为 Knative Serving Service 对象,请将 .spec.podTemplate.deploymentModel 字段设置为 knative。

例如:

apiVersion: sonataflow.org/v1alpha08
kind: SonataFlow
metadata:
  name: <name>
spec:
  podTemplate:
    deploymentModel: knative
    # ...
重要
  • 不要在 dev 配置集中使用 Knative 部署模型。如果指定了这个选项,Operator 会忽略它。
  • Knative 可以终止空闲的 pod,以中断长时间运行的工作流或减慢外部服务的速度。
  • 为使用回调状态的工作流启用持久性,以在 pod 终止后恢复。
  • 如果您的工作流需要,请显式启用 initContainers。Knative 默认禁用它们。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

关于红帽文档

Legal Notice

Theme

© 2026 Red Hat
返回顶部