How to manage profiles
See also: Profile
In Kubeflow, the multi-tenancy component allows an Administrator to manually create and modify a profile for each user. Charmed Kubeflow introduces user management features to automate the process of profile creation and initialisation with some credentials to provide an even more advanced MLOps solution. This document shows you all the various ways in which you can manage user profiles.
Contents:
Create a profile
-
If you’re using
juju < v.3.0
:
In a terminal, run the code below to enable the Juju actions feature flag:
export JUJU_FEATURES=actions-v2
-
Get the username of the user used to log in to the dashboard. For example, if you’ve chosen to authenticate with the default identity provider Dex, this would be your Dex username.
-
Think of a name for the profile you are creating.
If you want to limit the resources that will be available to this profile, also:
Define a resource quota by defining a variable (below, RQ
) with the resource quota keys set to the desired values (feel free to adjust), as below:
RQ=$(cat <<END
{
"hard": {
"cpu": "2",
"memory": "2Gi",
"requests.nvidia.com/gpu": "1",
"persistentvolumeclaims": "1",
"requests.storage": "5Gi"
}
}
END
)
- Create a user profile by running the
create-profile
action with theusername
andprofilename
keys, passing as values the username and profile name from the previous steps:
juju run kubeflow-profiles/0 create-profile username=<the authenticated username> profilename=<the new profile name>
If you want to limit the resources available to this profile:
Also use the resourcequota
key, passing as a value the contents of the resource quota variable you defined earlier (in our case, RQ
):
juju run kubeflow-profiles/0 create-profile username="<the authenticated username>" profilename="<the new profile name>" resourcequota="$RQ" --string-args
See more: Juju OLM |
juju run
, Charmed Kubeflow Profiles > Actions >create-profile
- Verify that the profile works by accessing the dashboard. (You’ll need the username you used above.) Once you are in, you should see the newly created user profile on the dashboard. The screenshot below shows this for a new profile with the name
myprofile
.
Initialise a profile
If you’ve created your profile using the Charmed Kubeflow Profiles create-profile
action:
You do not need to do this step, as your profile has already been initialised.
To initialise a profile, open up a terminal and run the initialise-profile
action with the profilename
key set to the name of the existing profile that you wish to initialise.
juju run kubeflow-profiles/0 initialise-profile profilename=<profile name>
This will apply a set of credentials to the profile’s namespace that will enable you to use Minio, MLFlow, and Seldon, if you wish.
See more: Juju OLM |
juju run
, Charmed Kubeflow Profiles > Actions >initialise-profile
Expand to see the effect of initialising your profile on Notebooks
Once you’ve initialised your profile, if you go ahead to create a Jupyter Notebook, you should see two options, to allow access to Minio and MLFlow, as shown in the screenshot below.
Delete a profile
To delete an existing profile, follow the upstream documentation.
In case that was the only profile owned by your user, next time you log in, you will be prompted to create a namespace for your user.
Last updated 3 months ago.