fix(CRD): check the logicCode
18 files changed
tree: 4f3f461292e17df082adbca06afbcd9065c01101
  1. api/
  2. config/
  3. controllers/
  4. hack/
  5. .dockerignore
  6. .gitignore
  7. Dockerfile
  8. go.mod
  9. go.sum
  10. main.go
  11. Makefile
  12. PROJECT
  13. README.md
README.md

dolphinscheduler-operator

feature

  1. deployment the master ,worker moudle
  2. scale the pods numbers with one commond
  3. update the master,worker version quickly (not include the sql)

Project Status

Project status: alpha1

Current API version: v1alpha1

Prerequisites

go version : go1.17.6

minikube version: v1.25.1

kubebuilder version: 3.3.0

kubectl version: 1.23.1

Get Started

  1. create namespace ds

  2. install postgres (not required)

    if had no postgressql ,you can turn into config/configmap and run kubectl apply -f postgreSQL/

    connect to postgressql and run the sql script in dolphinscheduler/dolphinscheduler-dao/resources/sql

    record the deployment ip eg: 172.17.0.3

image

  1. **install zookeeper(not required) **

    if had no zookeeper ,the doployment file is in config/configmap/zookeeper ,run “kubectl apply -f zookeeper/” and record the ip ,eg :172.17.0.4

  2. create and merge the configmaps

    replace the postgressql ip in application.yaml

    there are four application.yaml that needed to merge in the following locations:

    config/configmap/alert config/configmap/api config/configmap/master config/configmap/worker

    run “kubectl create cm ds-${name}-config --from-file=application.yaml -n ds” in these document

    the result is

    image

  3. create alert moudle

    run “kubectl apply -f alert/” in config/configmap/

  4. create the api moudle

    replace the zookooper ip in config/configmap/api/ds-api-deployment.yaml

    run “kubectl apply -f api/” in config/configmap/

  5. create pv and pvc (not required)

    if you had pv and pvc ,you can config it in config/sameples

    or you can create it with config/configmap/ds-pv.yaml and config/configmap/ds-pvc.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 paramters named log_pvc_name with pvcname

how to test

in current project  run *"make manifests && make install && make run"* 

in config/confgimap ,merge the *"zookeeper_connect"* with the zookeeper ip in two files .or other paramters ,all the paramters you can find  in      api/v1alpha1/ds${crdname}_types.go

run *"kubectl apply -f samples"*