-
Notifications
You must be signed in to change notification settings - Fork 813
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
Figure out what Kubernetes installation method we 'support' #593
Comments
Tagging @gsemet who was interested in doing this for OpenStack I believe. Tagging @ZachGlassman who was interested in doing this for DigitalOcean. Tagging @aculich who was interested in seeing this happen for bare metal installations (but might not have time himself) Tagging @choldgraf who told me that this was #1 asked for feature in his recently concluded tour of Europe :) |
Just adding a quick bit of info: the "#1 asked for feature" was basically "I want to run JupyterHub on k8s without giving google/amazon/MS/ a bunch of money" |
I'm happy to help with OpenStack too. However maybe this could be combined with a bare-metal installation, especially if the instructions are designed for a "minimal functionality" Kubernetes cluster:
|
Hi. Thanks for this notification. We don't use openstack but a custom baremetal Kube cluster (based on CoreOS). I did not have any major change on the guide that was an excellent support for my setup and self education, just a few doc enhancement on jupyterlab. Jupyterhub works like a charm behind a traefik ingress, I'll be happy to document on this use case + weird/experimental helming tricks (postgres, ...). We do have weird restrictions imposed by the team in charge of the cluster, for instance all non officially supported software should be in the same namespace, no DBaaS, and so on, so I usually open new tickets here :) But I would be glad to contribute to a community wiki! I do not recommend the blog section (a blog section in the wiki is perfectly acceptable, just not as main "community" section). Blog links do break, can be no more maintained by the author, a wiki is the perfect tool to ensure a useful information stays up to date even in case of author rotation. |
I am also +1 on number 3 and probably number 1, but -1 on linking to blog posts for the reasons others have stated (e.g. we don't want to create a project norm of "oh don't use that blog post, use this newer blog post") |
Hi. I would be happy to contribute to a community wiki. Like above , I have been using https://github.com/kubernetes-incubator/external-storage with success for a while and could probably provide some wiring tips on that. |
I think a wiki or community repo would be fine, and it is important to publish guidelines that set how much freedom a user has to edit an existing recipe. Or, do we need a group of maintainers for each recipe (swcarpentry style)? |
My initial instinct is that:
I need to do a bit more thinking on the docs but I'm thinking that it may make sense to have a source subfolder for vendor specific/infra specific docs that we link to. I'll make a WIP PR later as an example. I think it will both modularize the cluster docs and provide extensibility for each major infra up to the point of installing a helm chart. cc/ @minrk |
totally agree regarding the "dividing line" - I think that there one big difference that separates out two "types" of vendors: one group that offers some kind of "click this button and we'll give you a k8s cluster" service, and the group where you have to set all of that up yourself. My intuition is that the former group is much easier to "officially" support/maintain within z2jh, and the latter will require some other process to generate community knowledge on bootstrapping your own k8s cluster. Alternatively we could include it as a sub-module of the docs, but with big letters saying "we do not have the bandwidth to give you support if these docs don't work out for you, and your mileage may vary" Either way, I like the idea of modularizing the vendor-specific docs rather than just glomming them on to the one page :-) |
FYI. @choldgraf I'm going to break out the "Creating a Kubernetes cluster" on the main docs page into its own section from "Creating your JupyterHub" section. Working on a WIP PR that we can iterate on or pitch if we come up with something better. |
Cool! Excited to see how the PR looks :-) thanks for taking an initial stab! |
I'd like to do a AWS kops, but without using Heptio. Would that be welcome? |
I think that PR #594 gives us a good base to work off for adding community docs. |
I think for the most part, z2jh should not have docs on setting up kubernetes. Copy/paste commands for cloud providers that give you easy, fully-functional clusters makes sense, but openstack/kops/kubeadm I think ought to be out of scope. For these, I think we should link to external docs on setting up kubernetes clusters, but I don't want to put us in a position to be getting bug reports about deploying a kubernetes cluster since there is an endless supply of options and things that can go wrong. But some description of what is required of a kubernetes setup that we require is appropriate, so that people looking to deploy their own kubernetes can know what they need to have. I think the main points for supporting less-than-complete kubernetes installations is the dynamic storage and load-balancer, which are often absent from self-deployed clusters, as mentioned above. It may be appropriate to include "if you don't have a load-balancer" and/or "if you don't have a storage provider" configuration examples. |
I agree. There are many configuration of kube cluster, the setup of these config should not, IMHO, be under the umbrella of z2jh, but you can give hints on what to do given the users configuration. Maybe a full example using minikube (with an ingress) can help newbies, I have harder time using minikube now than using our cluster, now I know better what our cluster can do and cannot. |
I'll try to summarize discussion, and point out specific questions we can answer. Consensus of sorts seems to be,
I propose the following series of actions:
What do people think of this? |
sounds great! Makes sense. Do you think you (z2jh) could still host a wiki (mediawiki, github wiki or any other) for the community to self-organise around? |
@gsemet I'd like to, but let's open a different issue specific to discussing that? I think these are all big questions, and keeping discussion focused is important. |
For referenceDigital Ocean is about to start providing kubernetes! /cc: @jzf2101 |
@consideRatio Also this as reference #646 . We should keep an eye on it as they roll this out |
I should be getting early access to the Digital Ocean service when I return home. |
Great. Let us know what you find @willingc |
With #758 features are introduced that benefits of having a node-pool or equivalent concept that can label all nodes as well as taint all nodes. Is this possible within AWS / Azure etc? Node-pool labeling and tainting? Also, a kubernetes aware cluster autoscaler is available but not official on amazon cloud? Hmmm? |
Hey all. From what I've experience so far the Digital Ocean Kubernetes (still in beta) offering is (quite a lot) easier to get start on than anything else I've tried so far (Azure and GCP). I've started a PR with instructions to set it up at #1192 . |
@alexmorley Nice! Just keep in mind that AFAIK current feature set of Digital Ocean's managed K8s offering is not fully comparable with major public cloud providers due to lack of automatic upgrades, auto-scaling, multiple availability zones, integration with AD etc. It would be also interesting to compare pricing with usual suspects as well as performance (cluster creation/deletion times). Do you have any comments on this? |
Oh thanks for the insights about this @ablekh! |
@consideRatio My pleasure! :-) |
I think we should keep our guides as unopinionated as possible. If there are features missing that a basic JupyterHub needs then we shouldn't have a guide but if features beyond that are missing that somehow should be left as a judgement to the user. We shouldn't become a place that passes judgement on what k8s is "the best". We already struggle just to provide guides for setup, also having to make defendable and fair judgements on additional features would sidetrack us IMHO. Not sure what the best place for sharing such additional info is though as it is clearly interesting and relevant for people wanting to pick one :-/ |
I agree. If possible finding an external resource for choosing a k8s provider and link out to that seems like the idea way to go. @ablekh No I find it hard to compare the pricings directly but I guess it will be the standard DO cheaper for smaller workloads but more expensive when scaling. |
Add information about Bare metal clusters installation. Looking forward... |
I think we need some notes on bare metal clusters, as they lead to questions about "why is my LoadBalancer k8s service pending?" and such which we could address there, but overall I think the practical path we have taken so far have been that if someone does the big job of adding a big chunk on how to install z2jh on a certain cloud, then we have added it. Maintenance have been reasonable in my mind. Closing this in favor of another issue now, where I summarize the wish for more on bare metal clusters. |
We currently have instructions for Google, Azure and AWS to create a kubernetes cluster. We've had people try to set up clusters in other places:
I'd love for us to answer the following questions:
I think we need to make sure we communicate clearly that you can use z2jh without depending on Cloud Providers. This is especially important in the current climate of intense critique of privacy of various platforms. Several people have run k8s clusters successfully on all these platforms, but everyone has to re-learn the same lessons without any place to share them.
Here are the various options I see:
These are not exclusive, and there are definitely other options! Just writing these here to kick off conversation :)
The text was updated successfully, but these errors were encountered: