Carvel 安装

Spring Cloud Data Flow 提供了一个 Carvel 包,用于将 Spring Cloud Data Flow 服务器和 Skipper 部署到 Kubernetes 集群。

步骤如下:

  • 通过安装所需的 Carvel 组件来准备集群以进行部署。
  • 创建一个命名空间并将 carvel 包添加到该命名空间。
  • 使用数据库和代理属性创建一个值文件。
  • (可选)您可以使用提供的脚本部署代理、数据库和 Prometheus。这些脚本将使用正确的凭据更新值文件。
  • 部署 Spring Cloud Data Flow carvel 包。

对于本地 minikube 或 kind 集群,您可以使用:配置 Kubernetes 以进行本地开发或测试,并按照说明操作,直到“部署 Spring Cloud Data Flow”部分。

有关 Carvel 部署的详细说明,请参阅参考指南

示例值文件

scdf:
  binder:
    type: kafka
    kafka:
      broker:
        # Note service-name.namespace as hostname.
        host: kafka-broker.kafka
      zk:
        host: kafka-zk.kafka
  server:
    service:
      type: LoadBalancer
    env:
      # set values to false to disable features
      - name: SPRING_CLOUD_DATAFLOW_FEATURES_STREAMS_ENABLED
        value: 'true'
      - name: SPRING_CLOUD_DATAFLOW_FEATURES_TASKS_ENABLED
        value: 'true'
      - name: SPRING_CLOUD_DATAFLOW_FEATURES_SCHEDULES_ENABLED
        value: 'true'
    database:
      # Note service-name.namespace as hostname.
      url: jdbc:mariadb://mariadb.mariadb/dataflow
      driverClassName: org.mariadb.jdbc.Driver
      # You are encouraged to store credentials in kubernetes secrets. secretgen-controller provides for exporting/importing secrets from one namespace.
      secretName: mariadb
      secretUsernameKey: database-username
      secretPasswordKey: database-password
    metrics:
      dashboard:
        url: http://gafana-host:3000
    image: # provide tag when using version other than the package specific version
      tag: 2.10.3
  skipper:
    database:
      url: jdbc:mariadb://mariadb.mariadb/dataflow
      driverClassName: org.mariadb.jdbc.Driver
      secretName: mariadb
      secretUsernameKey: database-username
      secretPasswordKey: database-password
    image: # provide tag when using version other than the package specific version
      tag: 2.9.3
  registry:
    secret:
      ref: 'reg-creds-dockerhub'
  feature:
    monitoring:
      grafana:
        enabled: true
      prometheusRsocketProxy:
        enabled: true
  ctr:
    image: # provide tag when using version other than the package specific version
      tag: 2.10.3