1 前言
欢迎访问南瓜慢说 www.pkslow.com获取更多精彩文章!
Spring Cloud Data Flow
在本地跑得好好的,为什么要部署在Kubernetes
上呢?主要是因为Kubernetes
能提供更灵活的微服务管理;在集群上跑,会更安全稳定、更合理利用物理资源。
Spring Cloud Data Flow
入门简介请参考:Spring Cloud Data Flow初体验,以Local模式运行
2 部署Data Flow到Kubernetes
以简单为原则,我们依然是基于Batch
任务,不部署与Stream
相关的组件。
2.1 下载GitHub代码
我们要基于官方提供的部署代码进行修改,先把官方代码clone下来:
$ git clone https://github.com/spring-cloud/spring-cloud-dataflow.git
我们切换到最新稳定版本的代码版本:
$ git checkout v2.5.3.RELEASE
2.2 创建权限账号
为了让Data Flow Server
有权限来跑任务,能在Kubernetes
管理资源,如新建Pod
等,所以要创建对应的权限账号。这部分代码与源码一致,不需要修改:
(1)server-roles.yaml
kind: Role
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: scdf-role
rules:
- apiGroups: [""]
resources: ["services", "pods", "replicationcontrollers", "persistentvolumeclaims"]
verbs: ["get", "list", "watch", "create", "delete", "update"]
- apiGroups: [""]
resources: ["configmaps", "secrets", "pods/log"]
verbs: ["get", "list", "watch"]
- apiGroups: ["apps"]
resources: ["statefulsets", "deployments", "replicasets"]
verbs: ["get", "list", "watch", "create", "delete", "update", "patch"]
- apiGroups: ["extensions"]
resources: ["deployments", "replicasets"]
verbs: ["get", "list"