diff --git a/deploy/kubernetes/dolphinscheduler/Chart.yaml b/deploy/kubernetes/dolphinscheduler/Chart.yaml index 6ae98192ac33..c9029dc83be9 100644 --- a/deploy/kubernetes/dolphinscheduler/Chart.yaml +++ b/deploy/kubernetes/dolphinscheduler/Chart.yaml @@ -43,24 +43,18 @@ appVersion: 3.1.0 dependencies: - name: postgresql - version: 10.3.18 - # Due to a change in the Bitnami repo, https://charts.bitnami.com/bitnami was truncated only - # containing entries for the latest 6 months (from January 2022 on). - # This URL: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami - # contains the full 'index.yaml'. - # See detail here: https://github.com/bitnami/charts/issues/10833 - repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 12.1.5 + repository: https://charts.bitnami.com/bitnami condition: postgresql.enabled - name: zookeeper - version: 11.4.11 - # Same as above. - repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 13.8.7 + repository: https://charts.bitnami.com/bitnami condition: zookeeper.enabled - name: mysql - version: 9.4.1 - repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 9.23.0 + repository: https://charts.bitnami.com/bitnami condition: mysql.enabled - name: minio - version: 11.10.13 - repository: https://raw.githubusercontent.com/bitnami/charts/archive-full-index/bitnami + version: 12.13.2 + repository: https://charts.bitnami.com/bitnami condition: minio.enabled diff --git a/deploy/kubernetes/dolphinscheduler/README.md b/deploy/kubernetes/dolphinscheduler/README.md index 627f21814860..aa39148ff559 100644 --- a/deploy/kubernetes/dolphinscheduler/README.md +++ b/deploy/kubernetes/dolphinscheduler/README.md @@ -12,6 +12,7 @@ Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/inst | Key | Type | Default | Description | |-----|------|---------|-------------| +| global.security.allowInsecureImages | bool | `true` | Allow using non-standard container images (required for bitnamilegacy images). This is required because the new Bitnami charts verify image signatures. | | alert.affinity | object | `{}` | Affinity is a group of affinity scheduling rules. If specified, the pod's scheduling constraints. More info: [node-affinity](https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#node-affinity) | | alert.annotations | object | `{}` | You can use annotations to attach arbitrary non-identifying metadata to objects. Clients such as tools and libraries can retrieve this metadata. | | alert.customizedConfig | object | `{}` | configure aligned with https://github.com/apache/dolphinscheduler/blob/dev/dolphinscheduler-alert/dolphinscheduler-alert-server/src/main/resources/application.yaml | @@ -255,8 +256,8 @@ Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/inst | minio.defaultBuckets | string | `"dolphinscheduler"` | minio default buckets | | minio.enabled | bool | `true` | Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production. | | minio.image.registry | string | `"docker.io"` | | -| minio.image.repository | string | `"bitnamilegacy/minio"` | | -| minio.image.tag | string | `"2022.10.29-debian-11-r0"` | | +| minio.image.repository | string | `"bitnami/minio"` | | +| minio.image.tag | string | `"2023.12.23-debian-11-r3"` | | | minio.persistence.enabled | bool | `false` | Set minio.persistence.enabled to true to mount a new volume for internal minio | | mysql.auth.database | string | `"dolphinscheduler"` | mysql database | | mysql.auth.params | string | `"characterEncoding=utf8"` | mysql params | @@ -265,23 +266,23 @@ Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/inst | mysql.driverClassName | string | `"com.mysql.cj.jdbc.Driver"` | mysql driverClassName | | mysql.enabled | bool | `false` | If not exists external MySQL, by default, the DolphinScheduler will use a internal MySQL | | mysql.image.registry | string | `"docker.io"` | | -| mysql.image.repository | string | `"bitnamilegacy/mysql"` | | -| mysql.image.tag | string | `"8.0.31-debian-11-r0"` | | +| mysql.image.repository | string | `"bitnami/mysql"` | | +| mysql.image.tag | string | `"8.0.36-debian-12-r8"` | | | mysql.primary.persistence.enabled | bool | `false` | Set mysql.primary.persistence.enabled to true to mount a new volume for internal MySQL | | mysql.primary.persistence.size | string | `"20Gi"` | `PersistentVolumeClaim` size | | mysql.primary.persistence.storageClass | string | `"-"` | MySQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning | +| postgresql.auth.database | string | `"dolphinscheduler"` | The database for internal PostgreSQL | +| postgresql.auth.password | string | `"root"` | The password for internal PostgreSQL | +| postgresql.auth.username | string | `"root"` | The username for internal PostgreSQL | | postgresql.driverClassName | string | `"org.postgresql.Driver"` | The driverClassName for internal PostgreSQL | | postgresql.enabled | bool | `true` | If not exists external PostgreSQL, by default, the DolphinScheduler will use a internal PostgreSQL | | postgresql.image.registry | string | `"docker.io"` | | -| postgresql.image.repository | string | `"bitnamilegacy/postgresql"` | | -| postgresql.image.tag | string | `"11.11.0"` | | +| postgresql.image.repository | string | `"bitnami/postgresql"` | | +| postgresql.image.tag | string | `"15.1.0-debian-11-r12"` | | | postgresql.params | string | `"characterEncoding=utf8"` | The params for internal PostgreSQL | -| postgresql.persistence.enabled | bool | `false` | Set postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQL | -| postgresql.persistence.size | string | `"20Gi"` | `PersistentVolumeClaim` size | -| postgresql.persistence.storageClass | string | `"-"` | PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning | -| postgresql.postgresqlDatabase | string | `"dolphinscheduler"` | The database for internal PostgreSQL | -| postgresql.postgresqlPassword | string | `"root"` | The password for internal PostgreSQL | -| postgresql.postgresqlUsername | string | `"root"` | The username for internal PostgreSQL | +| postgresql.primary.persistence.enabled | bool | `false` | Set postgresql.primary.persistence.enabled to true to mount a new volume for internal PostgreSQL | +| postgresql.primary.persistence.size | string | `"20Gi"` | `PersistentVolumeClaim` size | +| postgresql.primary.persistence.storageClass | string | `"-"` | PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning | | registryEtcd.authority | string | `""` | Etcd authority | | registryEtcd.enabled | bool | `false` | If you want to use Etcd for your registry center, change this value to true. And set zookeeper.enabled to false | | registryEtcd.endpoints | string | `""` | Etcd endpoints | @@ -377,8 +378,8 @@ Please refer to the [Quick Start in Kubernetes](../../../docs/docs/en/guide/inst | zookeeper.enabled | bool | `true` | If not exists external registry, the zookeeper registry will be used by default. | | zookeeper.fourlwCommandsWhitelist | string | `"srvr,ruok,wchs,cons"` | A list of comma separated Four Letter Words commands to use | | zookeeper.image.registry | string | `"docker.io"` | | -| zookeeper.image.repository | string | `"bitnamilegacy/zookeeper"` | | -| zookeeper.image.tag | string | `"3.8.4"` | | +| zookeeper.image.repository | string | `"bitnami/zookeeper"` | | +| zookeeper.image.tag | string | `"3.9.3-debian-12-r21"` | | | zookeeper.persistence.enabled | bool | `false` | Set `zookeeper.persistence.enabled` to true to mount a new volume for internal ZooKeeper | | zookeeper.persistence.size | string | `"20Gi"` | PersistentVolumeClaim size | | zookeeper.persistence.storageClass | string | `"-"` | ZooKeeper data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning | diff --git a/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl b/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl index ba3c8e367e1a..068d413ab409 100644 --- a/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl +++ b/deploy/kubernetes/dolphinscheduler/templates/_helpers.tpl @@ -151,7 +151,7 @@ Create a database environment variables. {{- end }} - name: SPRING_DATASOURCE_URL {{- if .Values.postgresql.enabled }} - value: jdbc:postgresql://{{ template "dolphinscheduler.postgresql.fullname" . }}:5432/{{ .Values.postgresql.postgresqlDatabase }}?{{ .Values.postgresql.params }} + value: jdbc:postgresql://{{ template "dolphinscheduler.postgresql.fullname" . }}:5432/{{ .Values.postgresql.auth.database }}?{{ .Values.postgresql.params }} {{- else if .Values.mysql.enabled }} value: jdbc:mysql://{{ template "dolphinscheduler.mysql.fullname" . }}:3306/{{ .Values.mysql.auth.database }}?{{ .Values.mysql.auth.params }} {{- else }} @@ -159,7 +159,7 @@ Create a database environment variables. {{- end }} - name: SPRING_DATASOURCE_USERNAME {{- if .Values.postgresql.enabled }} - value: {{ .Values.postgresql.postgresqlUsername }} + value: {{ .Values.postgresql.auth.username }} {{- else if .Values.mysql.enabled }} value: {{ .Values.mysql.auth.username }} {{- else }} @@ -170,7 +170,7 @@ Create a database environment variables. secretKeyRef: {{- if .Values.postgresql.enabled }} name: {{ template "dolphinscheduler.postgresql.fullname" . }} - key: postgresql-password + key: password {{- else if .Values.mysql.enabled }} name: {{ template "dolphinscheduler.mysql.fullname" . }} key: mysql-password diff --git a/deploy/kubernetes/dolphinscheduler/templates/keda-autoscaler-worker.yaml b/deploy/kubernetes/dolphinscheduler/templates/keda-autoscaler-worker.yaml index ca632181c4b4..e8e3b8d15c57 100644 --- a/deploy/kubernetes/dolphinscheduler/templates/keda-autoscaler-worker.yaml +++ b/deploy/kubernetes/dolphinscheduler/templates/keda-autoscaler-worker.yaml @@ -46,8 +46,8 @@ spec: metadata: host: {{ template "dolphinscheduler.postgresql.fullname" . }}.{{ .Release.Namespace }}.svc.cluster.local port: "5432" - dbName: {{ .Values.postgresql.postgresqlDatabase }} - userName: {{ .Values.postgresql.postgresqlUsername }} + dbName: {{ .Values.postgresql.auth.database }} + userName: {{ .Values.postgresql.auth.username }} passwordFromEnv: SPRING_DATASOURCE_PASSWORD sslmode: "disable" targetQueryValue: "1" diff --git a/deploy/kubernetes/dolphinscheduler/values.yaml b/deploy/kubernetes/dolphinscheduler/values.yaml index 039760e0464f..4f2abec745e8 100644 --- a/deploy/kubernetes/dolphinscheduler/values.yaml +++ b/deploy/kubernetes/dolphinscheduler/values.yaml @@ -19,6 +19,12 @@ # This is a YAML-formatted file. # Declare variables to be passed into your templates. +# -- Global settings for Bitnami subcharts +global: + security: + # -- Allow using non-standard container images (required for bitnamilegacy images) + allowInsecureImages: true + # -- World time and date for cities in all time zones timezone: "Asia/Shanghai" @@ -56,27 +62,29 @@ datasource: postgresql: # -- If not exists external PostgreSQL, by default, the DolphinScheduler will use a internal PostgreSQL enabled: true - # -- The username for internal PostgreSQL - postgresqlUsername: "root" - # -- The password for internal PostgreSQL - postgresqlPassword: "root" - # -- The database for internal PostgreSQL - postgresqlDatabase: "dolphinscheduler" # -- The driverClassName for internal PostgreSQL driverClassName: "org.postgresql.Driver" # -- The params for internal PostgreSQL params: "characterEncoding=utf8" - persistence: - # -- Set postgresql.persistence.enabled to true to mount a new volume for internal PostgreSQL - enabled: false - # -- `PersistentVolumeClaim` size - size: "20Gi" - # -- PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning - storageClass: "-" + auth: + # -- The username for internal PostgreSQL + username: "root" + # -- The password for internal PostgreSQL + password: "root" + # -- The database for internal PostgreSQL + database: "dolphinscheduler" + primary: + persistence: + # -- Set postgresql.primary.persistence.enabled to true to mount a new volume for internal PostgreSQL + enabled: false + # -- `PersistentVolumeClaim` size + size: "20Gi" + # -- PostgreSQL data persistent volume storage class. If set to "-", storageClassName: "", which disables dynamic provisioning + storageClass: "-" image: registry: docker.io repository: bitnamilegacy/postgresql - tag: 11.11.0 + tag: 15.1.0-debian-11-r12 mysql: # -- If not exists external MySQL, by default, the DolphinScheduler will use a internal MySQL @@ -103,7 +111,7 @@ mysql: image: registry: docker.io repository: bitnamilegacy/mysql - tag: 8.0.31-debian-11-r0 + tag: 8.0.36-debian-12-r8 minio: # -- Deploy minio and configure it as the default storage for DolphinScheduler, note this is for demo only, not for production. @@ -121,7 +129,7 @@ minio: image: registry: docker.io repository: bitnamilegacy/minio - tag: 2022.10.29-debian-11-r0 + tag: 2023.12.23-debian-11-r3 externalDatabase: @@ -163,7 +171,7 @@ zookeeper: image: registry: docker.io repository: bitnamilegacy/zookeeper - tag: 3.8.4 + tag: 3.9.3-debian-12-r21 registryEtcd: # -- If you want to use Etcd for your registry center, change this value to true. And set zookeeper.enabled to false