Dremio custom connector installation on kubernetes cluster

Has anyone tried to install custom connectors on a kubernetes cluster. The instructions given are too naïve and assume the user is working in a standalone Linux environment.
Dremio Hub | Dremio

  1. How is one supposed to restart a kubernetes pod ? is that even possible ?
  2. Has anyone from the dremio team thought about this. This is a huge documentation gap or probably even a feature gap that I see with dremio.
  3. There is Zero documentation on how to add custom connectors to a kubernetes cluster which is installed with helm.
    Too bad a user cannot even evaluate what is supposed to be a basic feature of dremio.
    I have spent 2 whole days figuring this out and I am no where close. It is a shame that I cannot evaluate dremio due to this.
    If the developers or support team are reading this please care to respond. I want to evaluate it but i cannot due to this.

@gururajnayak Sorry about the lack of information, I have passed on your comments to the right team and will make sure to follow up and get back to you

Hi Balaji,

Is there a technical support email Id where I could reach and explain the technical details ? To give you some background context. We are evaluating the product for one of our requirements. As of now we are not able to make much progress because of this blocker. Please note that I have evaluated Dremio in a standalone Linux environment and also did a small POC with custom connectors for SAP ASE but now we want to move it to the next level and deploy it on a clustered environment like Kubernetes. This is where iam facing blockers.
Thanks.

@gururajnayak I have actually passed on your feedback to both Engineering and product and they have responded to me and said someone from their team will reach out soon. If you do not hear back shortly, please let us know

Thanks

@balaji.ramaswamy This would help us as well. When you get the reply from the team please reply on this thread.

@gururajnayak you could build a new Docker image as explained in the Snowflake ARP connector repo
GitHub - narendrans/dremio-snowflake: Snowflake Connector for Dremio using the ARP SDK.. But it would be great if we could just add the custom connector at runtime.

Thanks unni. I eventually figured that out myself after 2 days of experimenting with initcontainers and what not. Nothing worked. I played around with PVC too but that also strangely failed. No clue why.
However falling and stumbing over I landed upon the docker image idea. Wish i could have got this post earlier then I cud have saved 2 days of frustration. :slight_smile:
However even with the Docker custom image approach there is a glitch.
The dremio cluster gets deployed with Dremio coordinator, Dremio master and executor typically with the helm chart. In the charts/dremio/values.yaml we shoud specify our own custom image.
Now the issue is the Dremio master throws up an error during Kubernetes pod intialization whenever we provide custom image. Please note my custom image does not have anything much except for 2 wgets added over the base image (dremio/dremio-oss). Dremio executor and cordinator don’t seem to have a problem. Eventually i hard coded the image name to “dremio/dremio-oss” in dremio-master.yaml which fixed the issue.

Hello @gururajnayak,

Our recommended approach for packaging additional JARs within a Kubernetes deployment is to create and push a new container image that contains the required connector JARs. We appreciate the feedback provided on including documentation for this process along with our Helm chart and will look into integrating these instructions as well. For the time being, as @unni has pointed out, an example of creating a custom container image with a connector installed can currently be found here: GitHub - narendrans/dremio-snowflake: Snowflake Connector for Dremio using the ARP SDK.

Regarding changing the target Docker repository and image, an example of such a change to values.local.yaml is as follows:

image: mycontainerregistry.azurecr.io/dremio-custom-images
imageTag: 15.0.0-mycustomimage

I have tested this against the latest version of our published Helm charts (dremio-cloud-tools/charts/dremio_v2 at master · dremio/dremio-cloud-tools · GitHub) and was able to successfully launch Dremio with a custom Docker image. If you can provide more information as to what error you encountered during this process, I may be able provide additional recommendations and/or replicating this issue internally.

Sincerely,
@RyanTse

2 Likes

Thanks @RyanTse I had one line out of line in my docker file precisely {"ENTRYPOINT [“bin/dremio”, “start-fg”]} which I had added in the new derived docker file which was causing the issue. It was oversight from my part. Appreciate your help. If you can document this on this page Dremio hub after the existing “installation” section with a new section then that would be a great help.

@gururajnayak,

I’m glad that you managed to figure out your issue. We have now published additional documentation on the recommended process here for Kubernetes: dremio-cloud-tools/Custom-Dremio-Image.md at master · dremio/dremio-cloud-tools · GitHub.

Additionally, Dremio Hub has been updated to provide a direct link to this same page.

Sincerely,
@RyanTse

1 Like