Charmed Kubeflow is a full set of Kubernetes operators to deliver the 30+ applications and services that make up the latest version of Kubeflow, for easy operations anywhere, from workstations to on-prem, to public cloud and edge.
A charm is a software package that includes an operator together with metadata that supports the integration of many operators in a coherent aggregated system.
This technology leverages the Juju Operator Lifecycle Manager to provide day-0 to day-2 operations of Kubeflow.
Visit charmed-kubeflow.io for more information.
There are two possible paths, depending on your choice of Kubernetes:
- For any Kubernetes, follow the installation instructions.
- On MicroK8s, you simply have to enable the Kubeflow add-on.
To deploy this bundle and run tests locally, do the following:
- Set up Kubernetes, Juju, and deploy the bundle you're interested in (
kubeflow
orkubeflow-lite
) using the installation guide. This must include populating the.kube/config
file with your Kubernetes cluster as the active context - Install test prerequisites:
sudo snap install juju-wait --classic
sudo snap install juju-kubectl --classic
sudo snap install charmcraft --classic
sudo apt update
sudo apt install -y libssl-dev firefox-geckodriver
sudo pip3 install tox
sudo pip3 install -r requirements.txt
- Run tests on your bundle with tox. As many tests need authentication, make sure you pass the
username and password you set in step (1) through environment variable or argument, for example:
- full bundle (using command line arguments):
tox -e tests -- -m full --username [email protected] --password user123
- lite bundle (using environment variables:
export [email protected] export KUBEFLOW_AUTH_PASSWORD=user1234 tox -e tests -- -m lite
- full bundle (using command line arguments):
Subsets of the tests are also available using pytest's substring expression selector (eg:
tox -e tests -- -m full --username [email protected] --password user123 -k 'selenium'
to run just
the selenium tests).
Read the official documentation.