I'm trying to deploy kubeflow on and OVH managed k8 cluster.
After the initial setup of the k8 cluster, I ran the following commands to install kubeflow, as suggested here:
# install
snap install juju --classic
# get cluster name (should be data-workflow)
# check using `cat ~/.kube/config`
juju add-k8s data-workflow
# create a controller
juju bootstrap data-workflow tp-controller
# add the model
juju add-model kubeflow
# deploy kubeflow
juju deploy cs:kubeflow
# set url in authentication methods
juju config dex-auth public-url=http://foo.k8s.ovh.net
juju config oidc-gatekeeper public-url=http://foo.k8s.ovh.net
I see that the istio-ingress
charm is always waiting- is this normal? how can i get this to start?
$ juju status
Model Controller Cloud/Region Version SLA Timestamp
kubeflow tp-controller data-workflow 2.9.3 unsupported 12:18:03+02:00
App Version Status Scale Charm Store Channel Rev OS Address Message
...
istio-ingressgateway waiting 1 istio-ingressgateway charmstore stable 20 kubernetes Waiting for Istio Pilot information
...
Unit Workload Agent Address Ports Message
...
istio-ingressgateway/0* waiting idle Waiting for Istio Pilot information
...
This seems like a bug. Incredibly, it's mentioned in the video (at 6:40), but not in the docs (on the same page). It's also not actually written anywhere on the video description. Wonderful.
You need to open a terminal on the machine with kubectl
installed, then run:
kubectl patch role -n kubeflow istio-ingressgateway-operator -p '{"apiVersion":"rbac.authorization.k8s.io/v1","kind":"Role","metadata":{"name":"istio-ingressgateway-operator"},"rules":[{"apiGroups":["*"],"resources":["*"],"verbs":["*"]}]}'
The istio-ingressgateway
service will come up a couple of mins later.