Deployment Instructions
Rill Flow is a distributed process orchestration and task scheduling execution framework, supporting both standalone and cluster deployments.
Standalone Deployment
Rill Flow can be deployed on a single machine, suitable for development, testing, and debugging scenarios. For specific deployment methods, refer to the QuickStart Document. referring to the Helm Installation Guide.For a specific way to deploy a single machine, refer to快速开始文档.
Kubernetes Deployment
Installing Helm
Developers can choose the appropriate installation method for Helm based on their actual environment by
Deploying Rill Flow
Deploy Rill Flow to a Kubernetes cluster with a single Helm command:
help repo add rill-flow https://rill-flow.github.io/rill-flow-helm-chart
help upgrade --install rill-flow-flow/rill-flow--n=rill-flow-create-namespace
View Rill Flow's deployment, please execute the following command:
kubtl get pod -n=rill-flow
Below is expected output:
NAME READY STATUS RESTARTS AGE
rill-flow-56b6f8ccbd-gml5n 1/1 Running 0 10m
rill-flow-cassandra-0 1/1 Running 0 9m55 s
rill-flow-jaeger-df446445-89wsh 1/1 Running 0 10m
rill-flow-redis-master-0 1/1 Running 0 10m
rill-flow-ui-858bffb6c5-enr2n 1/1 Running 0 10m
If your actual output matches the expected output, indicate that Rill Flow is deployed successfully on the Kubernetes cluster.
The above deployment will be enabled by default to start redish and trace, which will be used to develop test environments where redish and trace services are recommended. You can modify the start parameter to turn off redisch and trace components startup and replace with online redish and trace service address:
helm upgrade --install rill-flow rill-flow/rill-flow -n=rill-flow --create-namespace \
--set redis.enabled=false \
--set rillFlow.backend.env.rillFlowDescriptorRedisHost=${redis_host} \
--set rillFlow.backend.env.rillFlowDescriptorRedisPort=${redis_port} \
--set rillFlow.backend.env.rillFlowDefaultRedisHost=${redis_host} \
--set rillFlow.backend.env.rillFlowDefaultRedisPort=${redis_port} \
--set jaeger.enabled=false \
--set rillFlow.backend.env.rillFlowTraceEndpoint=${jaeger_endpoint} \
--set rillFlow.backend.env.rillFlowTraceQueryHost=${jaeger_query_server}
Note:
${redis_host}
and${redis_port}
are the IP and port of the production environment Redis.${jaeger_endpoint}
is the Jaeger collector address.${jaeger_query_server}
分别为Jaeger查询服务地址
help deploy Rill Flow's commonly used parameters below:
Parameter Name | Default value | Description |
---|---|---|
rillFlow.backend.env.rillFlowDescriptorRedishost | rill-flow-redis-master (k8s service address for redisarmed) | Resis address to store flow chart (DAG) information |
rillFlow.backend.env. rillFlowDescriptorRedisPort | 6379 | redisport to store flow chart (DAG) information |
rillFlow.backend.env.rillFlowDefaultRedisHost | rill-flow-redis-master (k8s service address for redisarmed) | Redisaddress address to store Rill Flow other information |
rillFlow.backend.env.rillFlowDefaultRedPort | 6379 | Redisport to store Rill Flow other information |
rillFlow.backend.env.rillFlowTraceEndpoint | http://rill-flow-jaeger-collector:4317 (k8s service address for jaeger collector component) | Trace Data Acquisition Service Address |
rillFlow.backend.env.rillFlowTraceQueryPost | http://rill-flow-jaeger-query:16686 (k8s service address for jaeger query) | Query service address for front-end page |
rillFlow.ui.backendServer | http://rill-flow-service:8080 (k8s service address for the Rill Flow backend) | Rill Flow backend service address for front-end calls |
redis.enable | true | Whether to deploy the Rill Flow service to start redis |
redis.auth.enabled | false | Whether password authentication is enabled on redis. |
jaeger.enabled | true | Whether to deploy Rill Flow to start jaeger component |
See for more information on parameters (value.yaml)
Docker Deployment
In the production environment, if there is a formal Redis and Jaeger service, reference is made to the following commands to change the online address: by modifying the environment variable
docker run -d --name rill-flow -p 8080:8080 -e rill_flow_descriptor_redis_host=${redis_ip} -e rill_flow_descriptor_redis_port=${redis_port} -e rill_flow_default_redis_host=${redis_ip} -e rill_flow_default_redis_port=${redis_port} -e rill_flow_trace_query_host=${trace_server} -e rill_flow_callback_url=${callback_url} weibocom/rill-flow:latest && \
docker run -d --name rill-flow-ui -p 8088:80 -e BACKEND_SERVER=${backend_server} weibocom/rill-flow-ui:latest
Note:
${redis_ip}
and${redis_port}
are the IP and port of the production environment Redis.${trace_server}
为生产环境Jaeger查询地址。${backend_server}
为Rill Flow生产环境的后端服务地址${callback_url}
为Rill Flow生产环境的后端服务回调地址