From 45a04846d6d54712bd7eab846351665e66736dfc Mon Sep 17 00:00:00 2001 From: Ryan Tse Date: Fri, 27 Sep 2019 17:45:21 +0000 Subject: [PATCH] Revert "Add Helm C3 executor and dist store caching" This reverts commit d199978f1eaf648ec014e5e171e481698b6bb554. Change-Id: If484452e8608f2dbdfa2713ca33bb13b4c92c4f0 --- charts/dremio/Chart.yaml | 2 +- charts/dremio/README.md | 168 +++++------------- charts/dremio/config/core-site.xml | 163 ++++++++--------- charts/dremio/config/dremio.conf | 68 +++---- charts/dremio/templates/dremio-admin.yaml | 2 +- .../dremio/templates/dremio-coordinator.yaml | 6 +- charts/dremio/templates/dremio-executor.yaml | 7 +- charts/dremio/templates/dremio-master.yaml | 10 +- charts/dremio/values.yaml | 51 ++---- 9 files changed, 179 insertions(+), 298 deletions(-) diff --git a/charts/dremio/Chart.yaml b/charts/dremio/Chart.yaml index 7a40ce28..0457134e 100644 --- a/charts/dremio/Chart.yaml +++ b/charts/dremio/Chart.yaml @@ -1,6 +1,6 @@ apiVersion: "v1" name: "dremio" -version: "0.1.0" +version: "0.0.7" keywords: - dremio - data diff --git a/charts/dremio/README.md b/charts/dremio/README.md index 8bab30c8..6d8ecd0e 100644 --- a/charts/dremio/README.md +++ b/charts/dremio/README.md @@ -2,10 +2,7 @@ ## Overview -This is a Helm chart to deploy a Dremio cluster in kubernetes. It uses -a persistent volume for the master node to store the metadata for the -cluster. The default configuration uses the default persistent storage -supported by the kubernetes platform. For example, +This is a Helm chart to deploy a Dremio cluster in kubernetes. It uses a persistent volume for the master node to store the metadata for the cluster. The default configuration uses the default persistent storage supported by the kubernetes platform. For example, | Kubernetes platform | Persistent store | |---------------------|------------------| @@ -14,48 +11,26 @@ supported by the kubernetes platform. For example, | Google GKE | Persistent Disk | | Local K8S on Docker | Hostpath | -If you want to use a different storage class available in your -kubernetes environment, add the storageClass in values.yaml. - -An appropriate distributed file store (S3, ADLS, HDFS, etc) should be -used for paths.dist as this deployment will lose locally persisted -reflections and uploads. You can update config/dremio.conf. Dremio -[documentation](https://docs.dremio.com/deployment/distributed-storage.html) -provides more information on this. - -This assumes you already have kubernetes cluster setup, kubectl -configured to talk to your kubernetes cluster and helm setup in your -cluster. Review and update values.yaml to reflect values for your -environment before installing the helm chart. This is specially -important for for the memory and cpu values - your kubernetes cluster -should have sufficient resources to provision the pods with those -values. If your kubernetes installation does not support serviceType -LoadBalancer, it is recommended to comment the serviceType value in -values.yaml file before deploying. +If you want to use a different storage class available in your kubernetes environment, add the storageClass in values.yaml. -#### Installing the helm chart +An appropriate distributed file store (S3, ADLS, HDFS, etc) should be used for paths.dist as this deployment will lose locally persisted reflections and uploads. You can update config/dremio.conf. Dremio [documentation](https://docs.dremio.com/deployment/distributed-storage.html) provides more information on this. -Review charts/dremio/values.yaml and adjust the values as per your -requirements. Note that the values for cpu and memory for the -coordinator and the executors are set to work with AKS on Azure with -worker nodes setup with machine types Standard_E16s_v3. +This assumes you already have kubernetes cluster setup, kubectl configured to talk to your kubernetes cluster and helm setup in your cluster. Review and update values.yaml to reflect values for your environment before installing the helm chart. This is specially important for for the memory and cpu values - your kubernetes cluster should have sufficient resources to provision the pods with those values. If your kubernetes installation does not support serviceType LoadBalancer, it is recommended to comment the serviceType value in values.yaml file before deploying. -Run this from the charts directory +#### Installing the helm chart +Review charts/dremio/values.yaml and adjust the values as per your requirements. Note that the values for cpu and memory for the coordinator and the executors are set to work with AKS on Azure with worker nodes setup with machine types Standard_E16s_v3. +Run this from the charts directory ```bash -cd charts helm install --wait dremio ``` - -If it takes longer than a couple of minutes to complete, check the -status of the pods to see where they are waiting. If they are pending -scheduling due to limited memory or cpu, either adjust the values in -values.yaml and restart the process or add more resources to your -kubernetes cluster. +cd charts +helm install --wait dremio +``` +If it takes longer than a couple of minutes to complete, check the status of the pods to see where they are waiting. If they are pending scheduling due to limited memory or cpu, either adjust the values in values.yaml and restart the process or add more resources to your kubernetes cluster. #### Connect to the Dremio UI +If your kubernetes supports serviceType LoadBalancer, you can get to the Dremio UI on the load balancer external ip. -If your kubernetes supports serviceType LoadBalancer, you can get to -the Dremio UI on the load balancer external IP. For example, if your -service output is: +For example, if your service output is: ```bash kubectl get services dremio-client @@ -63,32 +38,24 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) dremio-client LoadBalancer 10.99.227.180 35.226.31.211 31010:32260/TCP,9047:30620/TCP 2d ``` -You can get to the Dremio UI using the value under column EXTERNAL-IP: +you can get to the Dremio UI using the value under column EXTERNAL-IP: http://35.226.31.211:9047 -If your kubernetes does not have support of serviceType LoadBalancer, -you can access the Dremio UI on the port exposed on the node. For -example, if the service output is: +If your kubernetes does not have support of serviceType LoadBalancer, you can access the Dremio UI on the port exposed on the node. For example, if the service output is: ```bash kubectl get services dremio-client NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE dremio-client NodePort 10.110.65.97 31010:32390/TCP,9047:30670/TCP 1h ``` - -Where there is no external IP and the Dremio master is running on node -"localhost", you can get to Dremio UI using: +where there is no external ip and the Dremio master is running on node "localhost", you can get to Dremio UI using: http://localhost:30670 -#### Dremio Client Port -The port 31010 is used for ODBC and JDBC connections. You can look up -service dremio-client in kubernetes to find the host to use for ODBC -or JDBC connections. Depending on your kubernetes cluster supporting -serviceType LoadBalancer, you will use the load balancer external-ip -or the node on which a coordinator is running. +#### Dremio Client Port +The port 31010 is used for ODBC and JDBC connections. You can look up service dremio-client in kubernetes to find the host to use for ODBC or JDBC connections. Depending on your kubernetes cluster supporting serviceType LoadBalancer, you will use the load balancer external-ip or the node on which a coordinator is running. ```bash kubectl get services dremio-client @@ -96,37 +63,32 @@ NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) dremio-client LoadBalancer 10.99.227.180 35.226.31.211 31010:32260/TCP,9047:30620/TCP 2d ``` -For example, in the above output, the service is exposed on an -external-ip. So, you can use 35.226.31.211:31010 in your ODBC or JDBC -connections. +For example, in the above output, the service is exposed on an external-ip. So, you can use 35.226.31.211:31010 in your ODBC or JDBC connections. #### Viewing logs - -Logs are written to the container's console. All the logs - -server.log, server.out, server.gc and access.log - are written into -the console simultaneously. You can view the logs using kubectl. ``` -kubectl logs ``` You can also tail the logs using the --f parameter. ``` kubectl logs -f ``` +Logs are written to the container's console. All the logs - server.log, server.out, server.gc and access.log - are written into the console simultaneously. You can view the logs using kubectl. +``` +kubectl logs +``` +You can also tail the logs using the -f parameter. +``` +kubectl logs -f +``` #### Scale by adding additional Coordinators or Executors (optional) - -Get the name of the helm release. In the example below, the release -name is plundering-alpaca: - +Get the name of the helm release. In the example below, the release name is plundering-alpaca. ```bash helm list NAME REVISION UPDATED STATUS CHART NAMESPACE plundering-alpaca 1 Wed Jul 18 09:36:14 2018 DEPLOYED dremio-0.0.5 default ``` -Add additional coordinators: - +Add additional coordinators ```bash helm upgrade dremio --set coordinator.count=3 ``` -Add additional executors: - +Add additional executors ```bash helm upgrade dremio --set executor.count=5 ``` @@ -134,44 +96,33 @@ helm upgrade dremio --set executor.count=5 You can also scale down the same way. ### Running offline dremio-admin commands - -Administration commands restore, cleanup and set-password in -dremio-admin needs to be run when the Dremio cluster is not -running. So, before running these commands, you need to shutdown the -Dremio cluster. Use the helm delete command to delete the helm -release. (Kubernetes does not delete the persistent store volumes -when you delete statefulset pods and when you install the cluster -again using helm, the existing persistent store will be used and you -will get your Dremio cluster running again.) - -After Dremio cluster is shutdown, start the dremio-admin pod using: - +Administration commands restore, cleanup and set-password in dremio-admin needs to be run when +the Dremio cluster is not running. So, before running these commands, you need to shutdown +the Dremio cluster. Use the helm delete command to delete the helm release. +(Kubernetes does not delete the persistent store volumes when you delete statefulset pods and +when you install the cluster again using helm, the existing persistent store will be used and +you will get your Dremio cluster running again.) + +After Dremio cluster is shutdown, start the dremio-admin pod using ```bash helm install --wait dremio --set DremioAdmin=true ``` -Once the pod is running, you can connect to the pod using: - +Once the pod is running, you can connect to the pod using ```bash kubectl exec -it dremio-admin -- bash ``` Now, you have a bash shell from where you can run the dremio-admin commands. -Once you are done, you can delete the helm release for the -dremio-admin and start your Dremio cluster. +Once you are done, you can delete the helm release for the dremio-admin and start your Dremio cluster. #### Upgrading Dremio - -You should attempt upgrade when no queries are running on the -cluster. Update the Dremio image tag in your values.yaml file. E.g: - +You should attempt upgrade when no queries are running on the cluster. Update the Dremio image tag in your values.yaml file. E.g. ```bash image: dremio/dremio-oss:3.0.0 ... ``` -Get the name of the helm release. In the example below, the release -name is plundering-alpaca. - +Get the name of the helm release. In the example below, the release name is plundering-alpaca. ```bash helm list NAME REVISION UPDATED STATUS CHART NAMESPACE @@ -179,45 +130,20 @@ plundering-alpaca 1 Wed Jul 18 09:36:14 2018 DEPLOYED dremio-0.0.5 defaul ``` Upgrade the deployment via helm upgrade command: - ``` helm upgrade . ``` -Existing pods will be terminated and new pods will be created with the -new image. You can - +Existing pods will be terminated and new pods will be created with the new image. You can monitor the status of the pods by running: ``` kubectl get pods ``` -Once all the pods are restarted and running, your Dremio cluster is -upgraded. +Once all the pods are restarted and running, your Dremio cluster is upgraded. #### Customizing Dremio configuration -Dremio configuration files used by the deployment are in the config -directory. These files are propagated to all the pods in the -cluster. Updating the configuration and upgrading the helm release - -just like doing an upgrade - would refresh all the pods with the new -configuration. [Dremio -documentation](https://docs.dremio.com/deployment/README-config.html) -covers the configuration capabilities in Dremio. - -If you need to add a core-site.xml, you can add the file to the config -directory and it will be propagated to all the pods on install or -upgrade of the deployment. - -#### Important Changes - -2019-09-19 (v0.1.0): BREAKING CHANGE. - - Dremio versions before 4.0.0 are no longer supported by this Helm - chart. Dremio image specifier was split into an imageName and - imageTag parts to follow best practices. "dist" value in - dremio.conf moved to cloud storage where possible (otherwise - defaults to pdfs) -- this will lose any previously extant - reflections materialisations, user uploads, scratch files, etc. - Also added Cloud Cache support (new in Dremio 4.0). Please see - values.yaml for details on this new configuration. +Dremio configuration files used by the deployment are in the config directory. These files are propagated to all the pods in the cluster. Updating the configuration and upgrading the helm release - just like doing an upgrade - would refresh all the pods with the new configuration. [Dremio documentation](https://docs.dremio.com/deployment/README-config.html) covers the configuration capabilities in Dremio. + +If you need to add a core-site.xml, you can add the file to the config directory and it will be propagated to all the pods on install or upgrade of the deployment. diff --git a/charts/dremio/config/core-site.xml b/charts/dremio/config/core-site.xml index 3283eb32..8d91d757 100644 --- a/charts/dremio/config/core-site.xml +++ b/charts/dremio/config/core-site.xml @@ -1,93 +1,80 @@ -{{- if and .Values.distStorage.type (ne .Values.distStorage.type "local") }} - {{- if eq .Values.distStorage.type "aws" }} - - fs.dremioS3.impl - The FileSystem implementation. Must be set to com.dremio.plugins.s3.store.S3FileSystem - com.dremio.plugins.s3.store.S3FileSystem - - - fs.s3a.aws.credentials.provider - The credential provider type. - org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider - - - fs.s3a.access.key - AWS access key ID. - {{ required "AWS access key required" .Values.distStorage.aws.accessKey}} - - - fs.s3a.secret.key - AWS secret key. - {{ required "AWS secret required" .Values.distStorage.aws.secret}} - - {{- end }} - - {{- if eq .Values.distStorage.type "azure" }} - - - fs.adl.impl - Must be set to org.apache.hadoop.fs.adl.AdlFileSystem - org.apache.hadoop.fs.adl.AdlFileSystem - - - dfs.adls.oauth2.client.id - Application ID of the registered application under Azure Active Directory - {{required "Azure application ID required" .Values.distStorage.azure.applicationId}} - - - dfs.adls.oauth2.credential - Generated password value for the registered application - {{required "Azure secret value required" .Values.distStorage.azure.secret}} - - - dfs.adls.oauth2.refresh.url - Azure Active Directory OAuth 2.0 Token Endpoint for registered applications. - {{required "Azure OAuth2 token endpoint required" .Values.distStorage.azure.oauth2EndPoint}} - - - dfs.adls.oauth2.access.token.provider.type - Must be set to ClientCredential - ClientCredential - - - fs.adl.impl.disable.cache - Only include this property AFTER validating the ADLS connection. - false - - {{- end }} - - {{- if eq .Values.distStorage.type "azureStorage" }} - - fs.dremioAzureStorage.impl - FileSystem implementation. Must always be com.dremio.plugins.azure.AzureStorageFileSystem - com.dremio.plugins.azure.AzureStorageFileSystem - - - dremio.azure.account - The name of the storage account. - {{required "Azure storage account name required" .Values.distStorage.azureStorage.accountName}} - - - dremio.azure.key - The shared access key for the storage account. - {{required "Shared access key for the storage account required" .Values.distStorage.azureStorage.accessKey}} - - - dremio.azure.mode - The storage account type. Value: STORAGE_V2 - STORAGE_V2 - - - dremio.azure.secure - Boolean option to enable SSL connections. Value: True/False - True - - {{- end }} -{{- end }} + {{- if and .Values.distStorage.type (eq .Values.distStorage.type "aws") }} + + fs.s3a.access.key + AWS access key ID. + {{ required "AWS access key required" .Values.distStorage.aws.accessKey}} + + + fs.s3a.secret.key + AWS secret key. + {{ required "AWS secret required" .Values.distStorage.aws.secret}} + + {{- end }} + + {{- if and .Values.distStorage.type (eq .Values.distStorage.type "azure") }} + + + fs.adl.impl + Must be set to org.apache.hadoop.fs.adl.AdlFileSystem + org.apache.hadoop.fs.adl.AdlFileSystem + + + dfs.adls.oauth2.client.id + Application ID of the registered application under Azure Active Directory + {{required "Azure application ID required" .Values.distStorage.azure.applicationId}} + + + dfs.adls.oauth2.credential + Generated password value for the registered application + {{required "Azure secret value required" .Values.distStorage.azure.secret}} + + + dfs.adls.oauth2.refresh.url + Azure Active Directory OAuth 2.0 Token Endpoint for registered applications. + {{required "Azure OAuth2 token endpoint required" .Values.distStorage.azure.oauth2EndPoint}} + + + dfs.adls.oauth2.access.token.provider.type + Must be set to ClientCredential + ClientCredential + + + fs.adl.impl.disable.cache + Only include this property AFTER validating the ADLS connection. + false + + {{- end }} + + {{- if and .Values.dremioVersion (ge .Values.dremioVersion "3.2.0") .Values.distStorage.type (eq .Values.distStorage.type "azureStorage") }} + + fs.dremioAzureStorage.impl + FileSystem implementation. Must always be com.dremio.plugins.azure.AzureStorageFileSystem + com.dremio.plugins.azure.AzureStorageFileSystem + + + dremio.azure.account + The name of the storage account. + {{required "Azure storage account name required" .Values.distStorage.azureStorage.accountName}} + + + dremio.azure.key + The shared access key for the storage account. + {{required "Shared access key for the storage account required" .Values.distStorage.azureStorage.accessKey}} + + + dremio.azure.mode + The storage account type. Value: STORAGE_V2 + STORAGE_V2 + + + dremio.azure.secure + Boolean option to enable SSL connections. Value: True/False + True + + {{- end }} diff --git a/charts/dremio/config/dremio.conf b/charts/dremio/config/dremio.conf index 042b7640..12252069 100644 --- a/charts/dremio/config/dremio.conf +++ b/charts/dremio/config/dremio.conf @@ -15,21 +15,33 @@ # paths: { - # Local path for dremio to store data. + # the local path for dremio to store data. local: ${DREMIO_HOME}"/data" - # Distributed path Dremio data including job results, downloads, - # uploads, etc - {{- if ne .Values.distStorage.type "local" }} - results: "pdfs://"${paths.local}"/pdfs" - {{- if eq .Values.distStorage.type "aws" }} - dist: "dremioS3:///{{ required "AWS bucketname required" .Values.distStorage.aws.bucketName }}{{ required "Path required" .Values.distStorage.aws.path }}" - {{- else if eq .Values.distStorage.type "azure" }} - dist: "dremioAdl://{{ required "Azure Datalake store name required" .Values.distStorage.azure.datalakeStoreName }}.azuredatalakestore.net{{ required "Path required" .Values.distStorage.azure.path }}" - {{- else if eq .Values.distStorage.type "azureStorage" }} - dist: "dremioAzureStorage://:///{{ required "Azure Storage filesystem required" .Values.distStorage.azureStorage.filesystem }}/{{ required "Path for uploads required" .Values.distStorage.azureStorage.uploadsPath }}" - {{- end }} - {{- else }} - dist: "pdfs://"${paths.local}"/pdfs" + + # the distributed path Dremio data including job results, downloads, uploads, etc + #dist: "pdfs://"${paths.local}"/pdfs" + + # If you are editing the uploads value in this file, please delete all the lines starting with double curly braces + {{- if .Values.distStorage.type }} + {{- if and .Values.dremioVersion (lt .Values.dremioVersion "3.2.0") }} + {{- if eq .Values.distStorage.type "aws" }} + uploads: "s3a://{{required "AWS bucketname required" .Values.distStorage.aws.bucketName}}{{required "Path required" .Values.distStorage.aws.path}}" + {{- end }} + {{- if eq .Values.distStorage.type "azure" }} + uploads: "adl://{{required "Azure Datalake store name required" .Values.distStorage.azure.datalakeStoreName}}.azuredatalakestore.net{{required "Path required" .Values.distStorage.azure.path}}" + {{- end }} + {{- else }} # dremio_version > 3.2.0 + {{- if eq .Values.distStorage.type "aws" }} + uploads: "dremioS3://{{required "AWS bucketname required" .Values.distStorage.aws.bucketName}}{{required "Path required" .Values.distStorage.aws.path}}" + {{- end }} + {{- if eq .Values.distStorage.type "azure" }} + uploads: "dremioAdl://{{required "Azure Datalake store name required" .Values.distStorage.azure.datalakeStoreName}}.azuredatalakestore.net{{required "Path required" .Values.distStorage.azure.path}}" + {{- end }} + {{- if eq .Values.distStorage.type "azureStorage" }} + uploads: "dremioAzureStorage://:///{{required "Azure Storage filesystem required" .Values.distStorage.azureStorage.filesystem}}/{{required "Path for uploads required" .Values.distStorage.azureStorage.uploadsPath}}" + accelerator: "dremioAzureStorage://:///{{required "Azure Storage filesystem required" .Values.distStorage.azureStorage.filesystem}}/{{required "Path for uploads required" .Values.distStorage.azureStorage.acceleratorPath}}" + {{- end }} + {{- end }} {{- end }} } @@ -42,30 +54,8 @@ services: { # executor.enabled: true # # Other service parameters can be customized via this file. - - # Cloud Cache is supported in Dremio 4.0.0+. - {{- if and .Values.executor.cloudCache.enabled (or (ge .Values.imageTag "4.0.0") (eq .Values.imageTag "latest")) }} - executor: { - cache: { - path.db: "/var/lib/dremio", - path.fs: ["/var/lib/dremio"], - pctquota.db: {{ .Values.executor.cloudCache.quota.db_pct }}, - pctquota.fs: [{{ .Values.executor.cloudCache.quota.fs_pct }}] - } - } - {{- end }} } -{{- if and .Values.executor.cloudCache.enabled (ne .Values.distStorage.type "local") }} -debug: { - # Enable caching for distributed storage, it is turned off by default - dist.caching.enabled: true, - # Max percent of total available cache space to use when possible - # for distributed storage - dist.max.cache.space.percent: {{ .Values.executor.cloudCache.quota.cache_pct }} -} -{{- end }} - {{- if .Values.tls.ui.enabled }} services.coordinator.web.ssl.enabled: true services.coordinator.web.ssl.auto-certificate.enabled: false @@ -74,9 +64,9 @@ services.coordinator.web.ssl.keyStore: "/opt/dremio/tls/ui.pkcs12" {{- end }} {{- if .Values.tls.client.enabled }} -# Client endpoint (i.e. ODBC/JDBC) encryption is only supported in -# Dremio Enterprise Edition. +# Client endpoint (i.e. ODBC/JDBC) encryption is only supported in Dremio Enterprise Edition. services.coordinator.client-endpoint.ssl.enabled: true services.coordinator.client-endpoint.ssl.auto-certificate.enabled: false + services.coordinator.client-endpoint.ssl.keyStore: "/opt/dremio/tls/client.pkcs12" -{{- end }} +{{- end }} \ No newline at end of file diff --git a/charts/dremio/templates/dremio-admin.yaml b/charts/dremio/templates/dremio-admin.yaml index feda9d9b..3de91c43 100644 --- a/charts/dremio/templates/dremio-admin.yaml +++ b/charts/dremio/templates/dremio-admin.yaml @@ -12,7 +12,7 @@ metadata: spec: containers: - name: dremio-admin - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent stdin: true tty: true diff --git a/charts/dremio/templates/dremio-coordinator.yaml b/charts/dremio/templates/dremio-coordinator.yaml index 3089c1ad..86d5f2ac 100644 --- a/charts/dremio/templates/dremio-coordinator.yaml +++ b/charts/dremio/templates/dremio-coordinator.yaml @@ -28,7 +28,7 @@ spec: {{- end }} containers: - name: dremio-coordinator - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent resources: requests: @@ -70,7 +70,7 @@ spec: command: ["sh", "-c", "until nc -z dremio-client {{ .Values.coordinator.web.port | default 9047 }} > /dev/null; do echo waiting for dremio master; sleep 2; done;"] {{- if .Values.tls.ui.enabled }} - name: generate-ui-keystore - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent volumeMounts: - name: dremio-tls @@ -92,7 +92,7 @@ spec: {{- end }} {{- if .Values.tls.client.enabled }} - name: generate-client-keystore - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent volumeMounts: - name: dremio-tls diff --git a/charts/dremio/templates/dremio-executor.yaml b/charts/dremio/templates/dremio-executor.yaml index 150e1fe1..e511e1d3 100644 --- a/charts/dremio/templates/dremio-executor.yaml +++ b/charts/dremio/templates/dremio-executor.yaml @@ -28,7 +28,7 @@ spec: {{- end }} containers: - name: dremio-executor - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent resources: requests: @@ -61,10 +61,9 @@ spec: - name: wait-for-zk image: busybox command: ["sh", "-c", "until ping -c 1 -W 1 zk-hs > /dev/null; do echo waiting for zookeeper host; sleep 2; done;"] - # since we're mounting a separate volume, reset permission to - # dremio uid/gid + # since we're mounting a separate volume, reset permission to dremio uid/gid - name: chown-data-directory - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 diff --git a/charts/dremio/templates/dremio-master.yaml b/charts/dremio/templates/dremio-master.yaml index 51619193..f272eb32 100644 --- a/charts/dremio/templates/dremio-master.yaml +++ b/charts/dremio/templates/dremio-master.yaml @@ -36,7 +36,7 @@ spec: {{- end }} containers: - name: dremio-master-coordinator - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent resources: requests: @@ -92,7 +92,7 @@ spec: command: ["sh", "-c", "until ping -c 1 -W 1 zk-hs > /dev/null; do echo waiting for zookeeper host; sleep 2; done;"] # since we're mounting a separate volume, reset permission to dremio uid/gid - name: chown-data-directory - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent securityContext: runAsUser: 0 @@ -104,7 +104,7 @@ spec: - "dremio:dremio" - "/opt/dremio/data" - name: upgrade-task - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent volumeMounts: - name: dremio-master-volume @@ -114,7 +114,7 @@ spec: - "upgrade" {{- if .Values.tls.ui.enabled }} - name: generate-ui-keystore - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent volumeMounts: - name: dremio-tls @@ -136,7 +136,7 @@ spec: {{- end }} {{- if .Values.tls.client.enabled }} - name: generate-client-keystore - image: {{.Values.image}}:{{.Values.imageTag}} + image: {{.Values.image}} imagePullPolicy: IfNotPresent volumeMounts: - name: dremio-tls diff --git a/charts/dremio/values.yaml b/charts/dremio/values.yaml index a8a415fc..2601ebba 100644 --- a/charts/dremio/values.yaml +++ b/charts/dremio/values.yaml @@ -1,9 +1,7 @@ # The image used to build the Dremio cluster. It is recommended to update the # version tag to the version that you are using. This will ensure that all # the pods are using the same version of the software. -image: dremio/dremio-oss -imageTag: latest - +image: dremio/dremio-oss:latest # Check out Dremio documentation for memory and cpu requirements for # the coordinators and the executors. # The value of memory should be in MB. CPU is in no of cores. @@ -24,20 +22,6 @@ executor: cpu: 15 count: 3 volumeSize: 100Gi - cloudCache: - # Requires Dremio version 4.0.0 or later - enabled: false - quota: - # Percentage of the diskspace for the running Kubernetes node - # that can be used for Cloud Cache files. - fs_pct: 70 - # Percentage of that space that can be used for the internal - # Cloud Cache database. - db_pct: 70 - # Percentage of that space that can be used for cacheing - # materialised reflections. This is an upper-bound, not a - # reservation. - cache_pct: 100 zookeeper: memory: 1024 cpu: 0.5 @@ -53,10 +37,9 @@ tls: enabled: false secret: dremio-tls-secret-ui client: - # To enable TLS for the client endpoints, set the enabled flag to - # true and provide the appropriate Kubernetes TLS secret. Client - # endpoint encryption is available only on Dremio Enterprise - # Edition and should not be enabled otherwise. + # To enable TLS for the client endpoints, set the enabled flag to true and provide + # the appropriate Kubernetes TLS secret. Client endpoint encryption is available only on + # Dremio Enterprise Edition and should not be enabled otherwise. enabled: false secret: dremio-tls-secret-client @@ -80,39 +63,35 @@ serviceType: LoadBalancer #storageClass: managed-premium # For private and protected docker image repository, you should store -# the credentials in a kubernetes secret and provide the secret name -# here. For more information, see -# https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod +# the credentials in a kubernetes secret and provide the secret name here. +# For more information, see https://kubernetes.io/docs/concepts/containers/images/#specifying-imagepullsecrets-on-a-pod #imagePullSecrets: secretname -# Target pods to nodes based on labels set on the nodes. For more -# information, see -# https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector +# Target pods to nodes based on labels set on the nodes. +# For more information, see https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#nodeselector #nodeSelector: # key: value -# Control where uploaded files are stored. See -# https://docs.dremio.com/deployment/distributed-storage.html for more -# information +# Control where uploaded files are stored. +# See https://docs.dremio.com/deployment/distributed-storage.html for more information +dremioVersion: "3.2.0" # Dremio Version 3.2.0 or greater distStorage: - # Valid values are local, aws, azure or azureStorage. aws and azure - # choice requires additional configuration data. + # Valid values are local, aws, azure or azureStorage. aws and azure choice requires additional configuration data. type: "local" - aws: # S3 + aws: #S3 - used for only uploads bucketName: "Your_AWS_bucket_name" path: "/" accessKey: "Your_AWS_Access_Key" secret: "Your_AWS_Secret" - azure: # ADLS gen1 + azure: #ADLS v1 - used for only uploads datalakeStoreName: "Your_Azure_DataLake_Storage_name" path: "/" applicationId: "Your_Azure_Application_Id" secret: "Your_Azure_Secret" oauth2EndPoint: "Azure_OAuth2_Endpoint" - azureStorage: # AzureStorage gen2v2 + azureStorage: #AzureStorage v2 - supported in Dremio version 3.2.0+ - used for uploads and accelerator accountName: "Azure_storage_v2_account_name" accessKey: "Access_key_for_the_storage_account" - filesystem: "Filesystem_in_storage_account" uploadsPath: "Path_for_uploads" acceleratorPath: "Path_for_accelerator"