7.4. 在集群中部署工作流


您可以在集群中部署工作流,因为镜像被推送到镜像 registry 和部署清单。

先决条件

  • 已安装以下版本的 OpenShift Container Platform 集群:

  • 您必须在包含 SonataflowPlatform 自定义资源(CR)的命名空间中应用工作流清单,用于管理 支持服务

流程

  1. 使用指定目标命名空间的 kubectl create 命令来应用 Kubernetes 清单,如下例所示:

    kubectl create -n <your_namespace> -f ./01_basic/manifests/.
  2. 部署后,监控工作流 pod 的状态,如下例所示:

    kubectl get pods -n <your_namespace> -l app=basic

    pod 最初可能会出现 Error 状态,因为 Secret 或 ConfigMap 中缺少或不完整的配置。

  3. 检查 Pod 日志,如下例所示:

    oc logs -n <your_namespace> basic-f7c6ff455-vwl56

    以下代码是输出示例:

    SRCFG00040: The config property quarkus.openapi-generator.notifications.auth.BearerToken.bearer-token is defined as the empty String ("") which the following Converter considered to be null: io.smallrye.config.Converters$BuiltInConverter
    java.lang.RuntimeException: Failed to start quarkus
    ...
    Caused by: io.quarkus.runtime.configuration.ConfigurationException: Failed to read configuration properties

    错误表示缺少属性: quarkus.openapi-generator.notifications.auth.BearerToken.bearer-token

  4. 在这种情况下,日志显示 ConfigurationException: Failed to read configuration properties 错误或指示缺失的值,检索 ConfigMap,如下例所示:

    oc get -n <your_namespace> configmaps basic-props -o yaml

    以下代码是示例输出示例:

    apiVersion: v1
    data:
      application.properties: |
        # Backstage notifications service
        quarkus.rest-client.notifications.url=${BACKSTAGE_NOTIFICATIONS_URL}
        quarkus.openapi-generator.notifications.auth.BearerToken.bearer-token=${NOTIFICATIONS_BEARER_TOKEN}
    ...

    使用通过 Secret 提供的值解析占位符。

  5. 您必须编辑对应的 Secret,并提供适当的 base64 编码值来解析 application.properties 中的占位符,如下例所示:

    kubectl edit secrets -n <your_namespace> basic-secrets
  6. 重启工作流 Pod 以便在 OpenShift Serverless Logic v1.36 中生效。

验证

  1. 通过再次检查 Pod 来验证部署状态,如下例所示:

    oc get pods -n <your_namespace> -l app=basic

    成功部署的工作流 Pod 的预期状态如下:

    NAME                    READY   STATUS    RESTARTS   AGE
    basic-f7c6ff455-grkxd   1/1     Running   0          47s
  2. Pod 处于 Running 状态后,工作流现在会出现在 Red Hat Developer Hub 中的 Orchestrator 插件中。

后续步骤

  • 检查提供的构建脚本,以提取实际步骤并在您首选的 CI/CD 工具中实施它们,如 GitHub Actions、GitLab CI、Jenkins 和 Tekton。
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

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

關於紅帽

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

Theme

© 2026 Red Hat
返回顶部