Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Druid Helm Chart #5582

Closed
5 of 7 tasks
drcrallen opened this issue Apr 5, 2018 · 23 comments
Closed
5 of 7 tasks

Druid Helm Chart #5582

drcrallen opened this issue Apr 5, 2018 · 23 comments
Labels
Area - Operations Helm Chart https://github.com/apache/druid/tree/master/helm/druid stale

Comments

@drcrallen
Copy link
Contributor

drcrallen commented Apr 5, 2018

Helm is an easy to use deployment system for running groups of services on kubernetes (k8s). This ask is that a Helm Chart (the thing that defines groups of apps) be developed for easy Druid deployment.

The thing which k8s is not terribly good at is a common historical setup where two tiers of historical servers are replicas of each other. I don't know how to get Stateful Sets setup in k8s to accommodate such a setup. But other nodes with no local state like brokers, overlords, coordinators, even routers should be pretty easy to setup charts for.

Easy:

  • Broker
  • Overlord
  • Coordinator
  • Router
  • Zookeeper

Hard:

  • Historical
  • Middle manager
@josephglanville
Copy link
Contributor

Regarding the "common setup" ff you wanted to create 2 distinct tiers of historical servers you would most likely create 2 different StatefulSets, i.e statefulset/historical-hot, statefulset/historical-cold or something. Because discovery is done via Zookeeper rather than k8s labels etc no real care has to be taken when doing this, it should "just work".

We are running Druid on k8s (without Helm) so I would be interested in contributing to this effort but don't have the bandwidth to lead it right now.

@drcrallen
Copy link
Contributor Author

@josephglanville the problem with 2 stateful sets is that one doesn't know what the other is doing. So I'm not sure there's a way to say "don't do any operations on this set while the other doesn't meet stateful requirements". Its kind of a... stateful set of stateful sets

@josephglanville
Copy link
Contributor

Yeah such a feature would need to be in Helm/Tiller most likely. There is also the problem that PodDisruptionBudget can't respect cross statefulset constrains which means that automated cluster operations could prove problematic.

@andrusha
Copy link

It might be worth looking into CRD and Operators:
https://kubernetes.io/docs/tasks/access-kubernetes-api/extend-api-custom-resource-definitions/
https://coreos.com/blog/introducing-operators.html
https://github.com/coreos/etcd-operator

They allow you to instrument your deployments with custom code.

@tekn0ir
Copy link

tekn0ir commented May 17, 2018

Also consider adding support for k8s as full resource manager, i.e. replacing zookeeper for service discovery etc. It would add neat features like restart strategies for example.

@townsendbt
Copy link

Hi. I'm wondering if this issue is being considered any time soon?
Thanks, Brian.

@maver1ck
Copy link
Contributor

@andrusha Going into operator will make this task much more difficult. Simple helm chart will be the best starting point.

@maver1ck
Copy link
Contributor

maver1ck commented Nov 16, 2018

helm/charts#9314
PS. There is no option for multi-tier configuration in this Chart. And I don't want to add it in initial PR.

@rahulsingh303
Copy link

Checkout this one https://github.com/rahulsingh303/druid-helm . It works for me , tested on both minikube and kubernetes cluster.

@maver1ck
Copy link
Contributor

maver1ck commented Jan 8, 2019

@rahulsingh303 I do a quick look at your chart but I think my PR is superior (i.e. it's using StatefulSets for historical and middlemanagers) and follows the rules of creating helm chart.

@rahulsingh303
Copy link

@maver1ck I was trained at Google and learnt that stateful sets are not needed unless you really need it for case where you want to bind your pv to a particular server (may be because you have a license or some other business reason) and hence they recommended not to use as no one uses in 99% of cases . Also my friend this is a community and not about who is superior but rather who can contribute and make a better reusable artifact :) .

@StardustXiaoT
Copy link

incubator druid helm charts have no router configurations, how do I add router to the druid cluster?

@rhamonantunes
Copy link

@StardustXiaoT Did you manage to do that? I have the same problem!

@maver1ck
Copy link
Contributor

maver1ck commented Jun 5, 2020

Working on merge PR to druid chart.

@asdf2014 asdf2014 added the Helm Chart https://github.com/apache/druid/tree/master/helm/druid label Oct 21, 2020
@kyprifog
Copy link

kyprifog commented Nov 3, 2020

@maver1ck whats the status of this?

@maver1ck
Copy link
Contributor

maver1ck commented Nov 3, 2020

https://github.com/helm/charts/tree/master/incubator/druid/templates/router

There is router configuration in the chart.

@sannour
Copy link

sannour commented Nov 15, 2020

@maver1ck Please share the new home for your druid chart, current one (and the whole helm charts repo) was archived 2 days ago #24250

@maver1ck
Copy link
Contributor

I'm curious if this repo can be official one ?

@sannour
Copy link

sannour commented Nov 16, 2020

I'm curious if this repo can be official one ?

I hope so.

@kyprifog
Copy link

I ran the helm chart and it seemed to work fine. The deprecation is mostly related to a long term initiative to migrate from helm 2 to 3, if you notice all the helm charts in this repo are now "deprecated", which is kind of annoying. So the maintainers would need to migrate the chart from 2 to 3, is there an issue for this already?

@himanshug
Copy link
Contributor

Probably unrelated but relevant based on few comments (#5582 (comment) and #5582 (comment)) ...

there does exist a druid operator https://github.com/druid-io/druid-operator , you can learn more about it in https://www.youtube.com/watch?v=UqPrttXRBDg

we are very close to using k8s for discovery and leader election and ability to run Druid cluster without zookeeper , see #10544

@github-actions
Copy link

This issue has been marked as stale due to 280 days of inactivity.
It will be closed in 4 weeks if no further activity occurs. If this issue is still
relevant, please simply write any comment. Even if closed, you can still revive the
issue at any time or discuss it on the dev@druid.apache.org list.
Thank you for your contributions.

@github-actions github-actions bot added the stale label Jun 29, 2023
@github-actions
Copy link

This issue has been closed due to lack of activity. If you think that
is incorrect, or the issue requires additional review, you can revive the issue at
any time.

@github-actions github-actions bot closed this as not planned Won't fix, can't repro, duplicate, stale Jul 28, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Area - Operations Helm Chart https://github.com/apache/druid/tree/master/helm/druid stale
Projects
None yet
Development

No branches or pull requests