Apache DolphinScheduler Kubernetes Operator.

Clone this repo:
  1. 53a75e4 Create the sa role rolebinding automately (#5) by nobolity · 8 months ago master
  2. 6e811fa Add serviceaccount for DS components to read configmaps (#4) by nobolity · 8 months ago
  3. 1eb9a53 Add .asf.yaml by kezhenxu94 · 9 months ago
  4. 7a1abfb Merge pull request #3 from caishunfeng/fix/readme by Eric Gao · 9 months ago
  5. 4c24593 update README by caishunfeng · 9 months ago

dolphinscheduler-operator

Features

  • Deploy and manage the master, worker, alert, api components.
  • Scale the Pod numbers with one commond.
  • Update the component's version (not include the database schema).

Project Status

Project status: alpha1

Current API version: v1alpha1

Get Started

  • Create a namespace ds
kubectl create namespace ds
  • Install PostgreSQL database (Optional)

If you don't have a running database, you can run

kubectl apply -f config/ds/postgreSQL

to create a demo database, note that this is only for demonstration, DO NOT use it in production environment. You need to replace the hostPath.path in postgres-pv.yaml if you don't have a directory /var/lib/data.

Connect to PostgreSQL and initialize the database schema by executing dolphinscheduler/dolphinscheduler-dao/src/main/resources/sql/dolphinscheduler_postgresql.sql.

  • Install zookeeper (Optional)

If you don't have a running zookeeper, the demo doployment file is in config/ds/zookeeper,

kubectl apply -f config/ds/zookeeper
  • Create pv and pvc (Optional)

If you have pv and pvc, you can config it in config/sameples.

Or you can create it with config/ds/ds-pv.yaml and config/ds/ds-pvc.yaml. Notice to replace the hostPath.path in ds-pv.yaml.

And you can mount the lib in dolphinscheduler /opt/soft in config/samples/ds_v1alpha1_dsworker.yaml with paramter named lib_pvc_name

Mount the logs in /opt/dolphinscheduler/logs with the pvcname named log_pvc_name.

query the status of worker

kubectl get dsworkers.ds.apache.dolphinscheduler.dev -n ds

api explain

kubectl explain dsmaster

how to test

how to deploy

export IMG=ghcr.io/apache/dolphinscheduler-operator:latest
make build && make manifests && make install && make deploy
  • Deploy the sample
cd config/samples
kubectl apply -f ds_v1alpha1_dsalert.yaml
kubectl apply -f ds_v1alpha1_dsapi.yaml -f ds_v1alpha1_dsmaster.yaml -f ds_v1alpha1_dsworker.yaml