From aa03ea8d31bc111cd918aad34260e5eeb5d74e3c Mon Sep 17 00:00:00 2001 From: Cyril Corbon Date: Sat, 26 Aug 2023 21:46:29 +0200 Subject: [PATCH] feat: add possibility to configure PriorityClassName Signed-off-by: Cyril Corbon --- apis/druid/v1alpha1/druid_types.go | 8 + .../crds/druid.apache.org_druids.yaml | 8 + config/crd/bases/druid.apache.org_druids.yaml | 8 + controllers/druid/handler.go | 1 + .../druid/testdata/broker-deployment.yaml | 3 +- .../druid/testdata/broker-statefulset.yaml | 3 +- .../druid/testdata/druid-test-cr-noprobe.yaml | 247 ++++++++--------- .../druid/testdata/druid-test-cr-sidecar.yaml | 89 +++---- controllers/druid/testdata/druid-test-cr.yaml | 248 ++++++++---------- docs/api_specifications/druid.md | 36 +++ e2e/configs/druid-cr.yaml | 1 + 11 files changed, 333 insertions(+), 319 deletions(-) diff --git a/apis/druid/v1alpha1/druid_types.go b/apis/druid/v1alpha1/druid_types.go index 9afa0fd0..b17fe031 100644 --- a/apis/druid/v1alpha1/druid_types.go +++ b/apis/druid/v1alpha1/druid_types.go @@ -189,6 +189,10 @@ type DruidSpec struct { // +optional PodLabels map[string]string `json:"podLabels,omitempty"` + // PriorityClassName Kubernetes native `priorityClassName` specification. + // +optional + PriorityClassName string `json:"priorityClassName,omitempty"` + // UpdateStrategy // +optional UpdateStrategy *appsv1.StatefulSetUpdateStrategy `json:"updateStrategy,omitempty"` @@ -308,6 +312,10 @@ type DruidNodeSpec struct { // +optional PodDisruptionBudgetSpec *policyv1.PodDisruptionBudgetSpec `json:"podDisruptionBudgetSpec,omitempty"` + // PriorityClassName Kubernetes native `priorityClassName` specification. + // +optional + PriorityClassName string `json:"priorityClassName,omitempty"` + // RuntimeProperties Additional runtime configuration for the specific workload. // +required RuntimeProperties string `json:"runtime.properties"` diff --git a/chart/templates/crds/druid.apache.org_druids.yaml b/chart/templates/crds/druid.apache.org_druids.yaml index e53d6198..8b67954f 100644 --- a/chart/templates/crds/druid.apache.org_druids.yaml +++ b/chart/templates/crds/druid.apache.org_druids.yaml @@ -5548,6 +5548,10 @@ spec: - containerPort type: object type: array + priorityClassName: + description: PriorityClassName Kubernetes native `priorityClassName` + specification. + type: string readinessProbe: description: ReadinessProbe Port is set to `druid.port` if not specified with httpGet handler. @@ -9032,6 +9036,10 @@ spec: default: Parallel description: PodManagementPolicy type: string + priorityClassName: + description: PriorityClassName Kubernetes native `priorityClassName` + specification. + type: string readinessProbe: description: ReadinessProbe Port is set to `druid.port` if not specified with httpGet handler. diff --git a/config/crd/bases/druid.apache.org_druids.yaml b/config/crd/bases/druid.apache.org_druids.yaml index e53d6198..8b67954f 100644 --- a/config/crd/bases/druid.apache.org_druids.yaml +++ b/config/crd/bases/druid.apache.org_druids.yaml @@ -5548,6 +5548,10 @@ spec: - containerPort type: object type: array + priorityClassName: + description: PriorityClassName Kubernetes native `priorityClassName` + specification. + type: string readinessProbe: description: ReadinessProbe Port is set to `druid.port` if not specified with httpGet handler. @@ -9032,6 +9036,10 @@ spec: default: Parallel description: PodManagementPolicy type: string + priorityClassName: + description: PriorityClassName Kubernetes native `priorityClassName` + specification. + type: string readinessProbe: description: ReadinessProbe Port is set to `druid.port` if not specified with httpGet handler. diff --git a/controllers/druid/handler.go b/controllers/druid/handler.go index 67947956..d2963f35 100644 --- a/controllers/druid/handler.go +++ b/controllers/druid/handler.go @@ -1322,6 +1322,7 @@ func makePodSpec(nodeSpec *v1alpha1.DruidNodeSpec, m *v1alpha1.Druid, nodeSpecUn Volumes: getVolume(nodeSpec, m, nodeSpecUniqueStr), SecurityContext: firstNonNilValue(nodeSpec.PodSecurityContext, m.Spec.PodSecurityContext).(*v1.PodSecurityContext), ServiceAccountName: m.Spec.ServiceAccount, + PriorityClassName: firstNonEmptyStr(nodeSpec.PriorityClassName, m.Spec.PriorityClassName), } addAdditionalContainers(m, nodeSpec, &spec) diff --git a/controllers/druid/testdata/broker-deployment.yaml b/controllers/druid/testdata/broker-deployment.yaml index f310dfad..173815de 100644 --- a/controllers/druid/testdata/broker-deployment.yaml +++ b/controllers/druid/testdata/broker-deployment.yaml @@ -9,7 +9,7 @@ metadata: nodeSpecUniqueStr: druid-druid-test-brokers component: broker annotations: - druidOpResourceHash: BWc+znXyJdW5P9aPZqT7929PtgA= + druidOpResourceHash: DYdfEwwDlLKgjTSZeuJb5nloe/w= spec: replicas: 2 selector: @@ -34,6 +34,7 @@ spec: spec: tolerations: [] affinity: {} + priorityClassName: high-priority containers: - command: - bin/run-druid.sh diff --git a/controllers/druid/testdata/broker-statefulset.yaml b/controllers/druid/testdata/broker-statefulset.yaml index 0f588505..c4b6db88 100644 --- a/controllers/druid/testdata/broker-statefulset.yaml +++ b/controllers/druid/testdata/broker-statefulset.yaml @@ -9,7 +9,7 @@ metadata: nodeSpecUniqueStr: druid-druid-test-brokers component: broker annotations: - druidOpResourceHash: nm2DDc54TuljVernCmU6WJ6Lmi4= + druidOpResourceHash: lTyDduvMnbQ7O2Glf57R9c5bFtA= spec: podManagementPolicy: Parallel replicas: 2 @@ -33,6 +33,7 @@ spec: spec: tolerations: [] affinity: {} + priorityClassName: high-priority containers: - command: - bin/run-druid.sh diff --git a/controllers/druid/testdata/druid-test-cr-noprobe.yaml b/controllers/druid/testdata/druid-test-cr-noprobe.yaml index 3d70f2ad..06e0f088 100644 --- a/controllers/druid/testdata/druid-test-cr-noprobe.yaml +++ b/controllers/druid/testdata/druid-test-cr-noprobe.yaml @@ -41,66 +41,66 @@ spec: druid.s3.accessKey=accesskey druid.s3.secretKey=secretkey jvm.options: |- - -server - -XX:MaxDirectMemorySize=10240g - -Duser.timezone=UTC - -Dfile.encoding=UTF-8 - -Dlog4j.debug - -XX:+ExitOnOutOfMemoryError - -XX:+HeapDumpOnOutOfMemoryError - -XX:+UseG1GC - -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -server + -XX:MaxDirectMemorySize=10240g + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Dlog4j.debug + -XX:+ExitOnOutOfMemoryError + -XX:+HeapDumpOnOutOfMemoryError + -XX:+UseG1GC + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager log4j.config: |- - - - - - - - - - - - - - + + + + + + + + + + + + + common.runtime.properties: |- - # - # Extensions - # - druid.extensions.loadList=["druid-datasketches", "druid-s3-extensions", "postgresql-metadata-storage"] + # + # Extensions + # + druid.extensions.loadList=["druid-datasketches", "druid-s3-extensions", "postgresql-metadata-storage"] - # - # Logging - # - # Log all runtime properties on startup. Disable to avoid logging properties on startup: - druid.startup.logging.logProperties=true + # + # Logging + # + # Log all runtime properties on startup. Disable to avoid logging properties on startup: + druid.startup.logging.logProperties=true - # - # Indexing service logs - # - # Store indexing logs in an S3 bucket named 'druid-deep-storage' with the - # prefix 'druid/indexing-logs' - druid.indexer.logs.type=s3 - druid.indexer.logs.s3Bucket=mybucket - druid.indexer.logs.s3Prefix=druid/indexing-logs + # + # Indexing service logs + # + # Store indexing logs in an S3 bucket named 'druid-deep-storage' with the + # prefix 'druid/indexing-logs' + druid.indexer.logs.type=s3 + druid.indexer.logs.s3Bucket=mybucket + druid.indexer.logs.s3Prefix=druid/indexing-logs - # - # Service discovery - # - druid.selectors.indexing.serviceName=druid/overlord - druid.selectors.coordinator.serviceName=druid/coordinator + # + # Service discovery + # + druid.selectors.indexing.serviceName=druid/overlord + druid.selectors.coordinator.serviceName=druid/coordinator - # - # Monitoring - # - druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"] - druid.emitter=logging - druid.emitter.logging.logLevel=info + # + # Monitoring + # + druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"] + druid.emitter=logging + druid.emitter.logging.logLevel=info - # Storage type of double columns - # ommiting this will lead to index double as float at the storage layer - druid.indexing.doubleStorage=double + # Storage type of double columns + # ommiting this will lead to index double as float at the storage layer + druid.indexing.doubleStorage=double metricDimensions.json: |- { "query/time" : { "dimensions" : ["dataSource", "type"], "type" : "timer"} @@ -109,20 +109,17 @@ spec: brokers: nodeType: "broker" services: - - - spec: + - spec: type: ClusterIP clusterIP: None - - - metadata: + - metadata: name: broker-%s-service annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 spec: type: LoadBalancer ports: - - - name: service-port + - name: service-port port: 8090 targetPort: 8080 druid.port: 8080 @@ -130,8 +127,7 @@ spec: podDisruptionBudgetSpec: maxUnavailable: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/broker @@ -148,15 +144,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -175,8 +171,7 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/coordinator @@ -188,15 +183,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -214,8 +209,7 @@ spec: druid.port: 8080 replicas: 2 ports: - - - name: random + - name: random containerPort: 8084 runtime.properties: |- druid.service=druid/historical @@ -230,15 +224,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -256,8 +250,7 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/overlord @@ -270,15 +263,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -296,35 +289,25 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: peon-0-pt + - name: peon-0-pt containerPort: 8100 - - - name: peon-1-pt + - name: peon-1-pt containerPort: 8101 - - - name: peon-2-pt + - name: peon-2-pt containerPort: 8102 - - - name: peon-3-pt + - name: peon-3-pt containerPort: 8103 - - - name: peon-4-pt + - name: peon-4-pt containerPort: 8104 - - - name: peon-5-pt + - name: peon-5-pt containerPort: 8105 - - - name: peon-6-pt + - name: peon-6-pt containerPort: 8106 - - - name: peon-7-pt + - name: peon-7-pt containerPort: 8107 - - - name: peon-8-pt + - name: peon-8-pt containerPort: 8108 - - - name: peon-9-pt + - name: peon-9-pt containerPort: 8109 runtime.properties: |- @@ -342,15 +325,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data diff --git a/controllers/druid/testdata/druid-test-cr-sidecar.yaml b/controllers/druid/testdata/druid-test-cr-sidecar.yaml index 03a54463..5a0b5b97 100644 --- a/controllers/druid/testdata/druid-test-cr-sidecar.yaml +++ b/controllers/druid/testdata/druid-test-cr-sidecar.yaml @@ -97,13 +97,13 @@ spec: # Extensions # druid.extensions.loadList=["druid-datasketches", "druid-s3-extensions", "postgresql-metadata-storage"] - + # # Logging # # Log all runtime properties on startup. Disable to avoid logging properties on startup: druid.startup.logging.logProperties=true - + # # Indexing service logs # @@ -112,20 +112,20 @@ spec: druid.indexer.logs.type=s3 druid.indexer.logs.s3Bucket=mybucket druid.indexer.logs.s3Prefix=druid/indexing-logs - + # # Service discovery # druid.selectors.indexing.serviceName=druid/overlord druid.selectors.coordinator.serviceName=druid/coordinator - + # # Monitoring # druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"] druid.emitter=logging druid.emitter.logging.logLevel=info - + # Storage type of double columns # ommiting this will lead to index double as float at the storage layer druid.indexing.doubleStorage=double @@ -137,20 +137,17 @@ spec: brokers: nodeType: "broker" services: - - - spec: + - spec: type: ClusterIP clusterIP: None - - - metadata: + - metadata: name: broker-%s-service annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 spec: type: LoadBalancer ports: - - - name: service-port + - name: service-port port: 8090 targetPort: 8080 druid.port: 8080 @@ -161,16 +158,15 @@ spec: httpGet: path: /status ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/broker - + # HTTP server threads druid.broker.http.numConnections=5 druid.server.http.numThreads=25 - + # Processing threads and buffers druid.processing.buffer.sizeBytes=1 druid.processing.numMergeBuffers=1 @@ -188,7 +184,7 @@ spec: requests: storage: 2Gi storageClassName: gp2 - + volumeMounts: - mountPath: /druid/data name: data-volume @@ -200,18 +196,17 @@ spec: limits: memory: "2Gi" cpu: "4" - + coordinators: nodeType: "coordinator" druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/coordinator - + # HTTP server threads druid.coordinator.startDelay=PT30S druid.coordinator.period=PT30S @@ -228,7 +223,7 @@ spec: requests: storage: 2Gi storageClassName: gp2 - + volumeMounts: - mountPath: /druid/data name: data-volume @@ -239,14 +234,13 @@ spec: limits: memory: "2Gi" cpu: "4" - + historicals: nodeType: "historical" druid.port: 8080 replicas: 2 ports: - - - name: random + - name: random containerPort: 8084 runtime.properties: |- druid.service=druid/historical @@ -270,7 +264,7 @@ spec: requests: storage: 2Gi storageClassName: gp2 - + volumeMounts: - mountPath: /druid/data name: data-volume @@ -281,18 +275,17 @@ spec: limits: memory: "2Gi" cpu: "4" - + overlords: nodeType: "overlord" druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/overlord - + # HTTP server threads druid.indexer.queue.startDelay=PT30S druid.indexer.runner.type=remote @@ -310,7 +303,7 @@ spec: requests: storage: 2Gi storageClassName: gp2 - + volumeMounts: - mountPath: /druid/data name: data-volume @@ -321,43 +314,33 @@ spec: limits: memory: "2Gi" cpu: "4" - + middlemanagers: nodeType: "middleManager" druid.port: 8080 replicas: 1 ports: - - - name: peon-0-pt + - name: peon-0-pt containerPort: 8100 - - - name: peon-1-pt + - name: peon-1-pt containerPort: 8101 - - - name: peon-2-pt + - name: peon-2-pt containerPort: 8102 - - - name: peon-3-pt + - name: peon-3-pt containerPort: 8103 - - - name: peon-4-pt + - name: peon-4-pt containerPort: 8104 - - - name: peon-5-pt + - name: peon-5-pt containerPort: 8105 - - - name: peon-6-pt + - name: peon-6-pt containerPort: 8106 - - - name: peon-7-pt + - name: peon-7-pt containerPort: 8107 - - - name: peon-8-pt + - name: peon-8-pt containerPort: 8108 - - - name: peon-9-pt + - name: peon-9-pt containerPort: 8109 - + runtime.properties: |- druid.service=druid/middleManager druid.worker.capacity=1 @@ -382,7 +365,7 @@ spec: requests: storage: 2Gi storageClassName: gp2 - + volumeMounts: - mountPath: /druid/data name: data-volume diff --git a/controllers/druid/testdata/druid-test-cr.yaml b/controllers/druid/testdata/druid-test-cr.yaml index 4850805b..04227657 100644 --- a/controllers/druid/testdata/druid-test-cr.yaml +++ b/controllers/druid/testdata/druid-test-cr.yaml @@ -6,6 +6,7 @@ metadata: spec: image: himanshu01/druid:druid-0.12.0-1 defaultProbes: true + priorityClassName: high-priority podAnnotations: key1: value1 key2: value2 @@ -41,66 +42,66 @@ spec: druid.s3.accessKey=accesskey druid.s3.secretKey=secretkey jvm.options: |- - -server - -XX:MaxDirectMemorySize=10240g - -Duser.timezone=UTC - -Dfile.encoding=UTF-8 - -Dlog4j.debug - -XX:+ExitOnOutOfMemoryError - -XX:+HeapDumpOnOutOfMemoryError - -XX:+UseG1GC - -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager + -server + -XX:MaxDirectMemorySize=10240g + -Duser.timezone=UTC + -Dfile.encoding=UTF-8 + -Dlog4j.debug + -XX:+ExitOnOutOfMemoryError + -XX:+HeapDumpOnOutOfMemoryError + -XX:+UseG1GC + -Djava.util.logging.manager=org.apache.logging.log4j.jul.LogManager log4j.config: |- - - - - - - - - - - - - - + + + + + + + + + + + + + common.runtime.properties: |- - # - # Extensions - # - druid.extensions.loadList=["druid-datasketches", "druid-s3-extensions", "postgresql-metadata-storage"] + # + # Extensions + # + druid.extensions.loadList=["druid-datasketches", "druid-s3-extensions", "postgresql-metadata-storage"] - # - # Logging - # - # Log all runtime properties on startup. Disable to avoid logging properties on startup: - druid.startup.logging.logProperties=true + # + # Logging + # + # Log all runtime properties on startup. Disable to avoid logging properties on startup: + druid.startup.logging.logProperties=true - # - # Indexing service logs - # - # Store indexing logs in an S3 bucket named 'druid-deep-storage' with the - # prefix 'druid/indexing-logs' - druid.indexer.logs.type=s3 - druid.indexer.logs.s3Bucket=mybucket - druid.indexer.logs.s3Prefix=druid/indexing-logs + # + # Indexing service logs + # + # Store indexing logs in an S3 bucket named 'druid-deep-storage' with the + # prefix 'druid/indexing-logs' + druid.indexer.logs.type=s3 + druid.indexer.logs.s3Bucket=mybucket + druid.indexer.logs.s3Prefix=druid/indexing-logs - # - # Service discovery - # - druid.selectors.indexing.serviceName=druid/overlord - druid.selectors.coordinator.serviceName=druid/coordinator + # + # Service discovery + # + druid.selectors.indexing.serviceName=druid/overlord + druid.selectors.coordinator.serviceName=druid/coordinator - # - # Monitoring - # - druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"] - druid.emitter=logging - druid.emitter.logging.logLevel=info + # + # Monitoring + # + druid.monitoring.monitors=["com.metamx.metrics.JvmMonitor"] + druid.emitter=logging + druid.emitter.logging.logLevel=info - # Storage type of double columns - # ommiting this will lead to index double as float at the storage layer - druid.indexing.doubleStorage=double + # Storage type of double columns + # ommiting this will lead to index double as float at the storage layer + druid.indexing.doubleStorage=double metricDimensions.json: |- { "query/time" : { "dimensions" : ["dataSource", "type"], "type" : "timer"} @@ -109,20 +110,17 @@ spec: brokers: nodeType: "broker" services: - - - spec: + - spec: type: ClusterIP clusterIP: None - - - metadata: + - metadata: name: broker-%s-service annotations: service.beta.kubernetes.io/aws-load-balancer-internal: 0.0.0.0/0 spec: type: LoadBalancer ports: - - - name: service-port + - name: service-port port: 8090 targetPort: 8080 druid.port: 8080 @@ -133,8 +131,7 @@ spec: httpGet: path: /status ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/broker @@ -151,15 +148,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -178,8 +175,7 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/coordinator @@ -191,15 +187,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -217,8 +213,7 @@ spec: druid.port: 8080 replicas: 2 ports: - - - name: random + - name: random containerPort: 8084 runtime.properties: |- druid.service=druid/historical @@ -233,15 +228,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -259,8 +254,7 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: random + - name: random containerPort: 8083 runtime.properties: |- druid.service=druid/overlord @@ -273,15 +267,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data @@ -299,35 +293,25 @@ spec: druid.port: 8080 replicas: 1 ports: - - - name: peon-0-pt + - name: peon-0-pt containerPort: 8100 - - - name: peon-1-pt + - name: peon-1-pt containerPort: 8101 - - - name: peon-2-pt + - name: peon-2-pt containerPort: 8102 - - - name: peon-3-pt + - name: peon-3-pt containerPort: 8103 - - - name: peon-4-pt + - name: peon-4-pt containerPort: 8104 - - - name: peon-5-pt + - name: peon-5-pt containerPort: 8105 - - - name: peon-6-pt + - name: peon-6-pt containerPort: 8106 - - - name: peon-7-pt + - name: peon-7-pt containerPort: 8107 - - - name: peon-8-pt + - name: peon-8-pt containerPort: 8108 - - - name: peon-9-pt + - name: peon-9-pt containerPort: 8109 runtime.properties: |- @@ -345,15 +329,15 @@ spec: -Xmx1G -Xms1G volumeClaimTemplates: - - metadata: - name: data-volume - spec: - accessModes: - - ReadWriteOnce - resources: - requests: - storage: 2Gi - storageClassName: gp2 + - metadata: + name: data-volume + spec: + accessModes: + - ReadWriteOnce + resources: + requests: + storage: 2Gi + storageClassName: gp2 volumeMounts: - mountPath: /druid/data diff --git a/docs/api_specifications/druid.md b/docs/api_specifications/druid.md index 106c6d98..986633ad 100644 --- a/docs/api_specifications/druid.md +++ b/docs/api_specifications/druid.md @@ -585,6 +585,18 @@ map[string]string +priorityClassName
+ +string + + + +(Optional) +

PriorityClassName Kubernetes native priorityClassName specification.

+ + + + updateStrategy
@@ -1078,6 +1090,18 @@ Kubernetes policy/v1.PodDisruptionBudgetSpec +priorityClassName
+ +string + + + +(Optional) +

PriorityClassName Kubernetes native priorityClassName specification.

+ + + + runtime.properties
string @@ -1984,6 +2008,18 @@ map[string]string +priorityClassName
+ +string + + + +(Optional) +

PriorityClassName Kubernetes native priorityClassName specification.

+ + + + updateStrategy
diff --git a/e2e/configs/druid-cr.yaml b/e2e/configs/druid-cr.yaml index b744b7ff..a146d781 100644 --- a/e2e/configs/druid-cr.yaml +++ b/e2e/configs/druid-cr.yaml @@ -128,6 +128,7 @@ spec: # Optionally specify for broker nodes # imagePullSecrets: # - name: tutu + priorityClassName: system-cluster-critical druid.port: 8088 services: - spec: