Kubeflow

  • Kubeflow Charmers | bundle
  • Cloud
Channel Revision Published
latest/candidate 294 24 Jan 2022
latest/beta 430 30 Aug 2024
latest/edge 423 26 Jul 2024
1.10/stable 436 07 Apr 2025
1.10/candidate 434 02 Apr 2025
1.10/beta 433 24 Mar 2025
1.9/stable 432 03 Dec 2024
1.9/beta 420 19 Jul 2024
1.9/edge 431 03 Dec 2024
1.8/stable 414 22 Nov 2023
1.8/beta 411 22 Nov 2023
1.8/edge 413 22 Nov 2023
1.7/stable 409 27 Oct 2023
1.7/beta 408 27 Oct 2023
1.7/edge 407 27 Oct 2023
juju deploy kubeflow --channel latest/edge
Show information

Platform:

This guide describes how to configure Charmed Kubeflow to perform inference on user owned KServe Inference Services (ISVCs) using programmatic access tokens, for example from a Jupyter Notebook.

To do so, follow these steps:

  1. Create a ServiceAccount token from inside a Notebook server with the following parameters:
TOKEN=$(kubectl create token \
    default-editor \
    --duration=<duration in s> \
    --audience=istio-ingressgateway.kubeflow.svc.cluster.local)

The --audience parameter has to be set to istio-ingressgateway.kubeflow.svc.cluster.local for requests with this token to go through, otherwise they can be rejected.

  1. Pass the TOKEN to the request, for example:
curl $ISVC_URL/v1/models/model-endpoint \
    -H "Authorization: Bearer $TOKEN" \
    -H 'Content-Type: <content-type>' \
    -d <data>

The ServiceAccount token is bound to the default-editor ServiceAccount that gets created for every Charmed Kubeflow user. That being said:

  • The token will not be valid if the default-editor ServiceAccount is deleted.
  • The access cannot be revoked unless the duration set at creation time has expired.