使用Openshift部署SCDF

时间:2020-05-19 19:31:53

标签: java kubernetes spring-batch openshift spring-cloud-dataflow

我正在尝试使用Openshift控制台在Openshift中部署SCDF。我正在按照以下文章中的说明进行操作,

Deploying with kubectl

这里有5个步骤,以便在kubernates中成功部署scdf。我的问题是,我们是否需要执行所有这些步骤。

选择一个消息代理:

   When would be this service required exactly? I don't understand it's use completely here in my spring batch app.
  1. 部署MySQL

    • 我计划在以下位置添加我的Oracle驱动程序属性,而不是执行此步骤: “ src / kubernetes / server / server-config.yaml”。反正这会影响应用程序启动吗?
  2. 部署Prometheus和Grafana

    • 删除了它们,因为现在不需要了。
  3. 创建数据流角色绑定和服务帐户
    • 尽管我执行了此步骤,但这是强制性的吗?我想管理员可以从控制台本身进行添加,如果我没有记错的话。
  4. 部署船长
    • 我正在使用Spring批处理应用程序,而不是在使用流。如果仅是春季批处理应用程序(只有读者,作家和听众),我们是否仍需要船长?
  5. 部署数据流服务器
    • 千方百计部署这个。

更新

src/kubernetes/server/server-config.yaml
apiVersion: v1
kind: ConfigMap
metadata:
  name: scdf-server
  labels:
    app: scdf-server
data:
  application.yaml: |-
    spring:
      cloud:
        dataflow:
          task:
            platform:
              kubernetes:
                accounts:
                  default:
                    limits:
                      memory: 1024Mi
      **datasource:
        url: jdbc:mysql://${MYSQL_SERVICE_HOST}:${MYSQL_SERVICE_PORT}/mysql
        username: root
        password: ${mysql-root-password}
        driverClassName: org.mariadb.jdbc.Driver
        testOnBorrow: true
        validationQuery: "SELECT 1"**

1 个答案:

答案 0 :(得分:1)

请花一些时间查看文档中的concepts and architecture详细信息。

仅当您使用SCDF中的流功能时,才需要消息代理。流媒体用例也只需要Skipper,因此您可以忽略两者。

在该主题上,我们有一个batch-only recipe来帮助强调这些差异。虽然该食谱本身是针对本地部署经验而设计的,但对于K8而言,它与在SCDF中设置正确的功能切换属性的情况类似。

1)您可以使用任何受支持的RDBMS options

2)如果不需要,请确定。

3)这是必需的。管理员或具有足够特权的人员可以帮助为给定的SCDF部署设置一次,因此CRUD操作在群集边界内进行管理。

4)如果您处于仅批处理模式,则不需要它。