I’m trying to follow the documentation for Efficient Cluster Autoscaling. I haven’t seen a complete example for this, so I think i’ve misinterprented the docs in writing my config files. When I follow the steps below, my notebooks always fail to find somewhere to run.
The documentation says:
- Setup a node pool (with autoscaling), a certain label, and a certain taint.If you need help on how to do this, please refer to your cloud providers documentation. A node pool may be called a node group.
- The label:
hub.jupyter.org/node-purpose=user
NOTE : Cloud providers often have their own labels, separate from kubernetes labels, but this label must be a kubernetes label.- The taint:
hub.jupyter.org/dedicated=user:NoSchedule
NOTE : You may need to replace/
with_
due cloud provider limitations. Both taints are tolerated by the user pods.
This doesn’t mention the “taints” parameter on the nodegroup, but I see that in the examples cluster configs.
To each of my nodegroups, I added
taints:
special: “true:NoSchedule”
and tried to label them with this, which I don’t know if is correct or not:
labels:
hub.jupyter.org_node-purpose: user
To my jhub helm config, I added:
scheduling:
userPods:
nodeAffinity:
matchNodePurpose: require
Any help on this from someone who’s gotten it to work would be greatly appreciated.