Setting up target clusters¶
Each target cluster needs to have an Ingress Controller installed that the spawner can talk to. This provides a public IP that JupyterHub can use to proxy traffic to the user pods on that cluster.
Any ingress provider will do, although the current suggested one is to use Project Contour, as it’s faster than the more popular nginx-ingress at picking up routing changes.
A ‘production’ install might use helm and the
contour helm chart.
But to quickly get started, you can also just configure your kubectl
to point to the correct kubernes cluster and run
kubectl apply --wait -f https://projectcontour.io/quickstart/contour.yaml
. After
it succeeds, you can get the public IP of the ingress controller with
kubectl -n projectcontour get svc envoy
. The EXTERNAL-IP
value here
can be passed to the ingress_public_url
configuration option for your
cluster.