Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 6 additions & 8 deletions docs/explanation/dss-arch.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ DSS architecture
This guide provides an overview of the Data Science Stack (DSS) architecture, its main components, and their interactions.

DSS is a ready-to-run environment for Machine Learning (ML) and Data Science (DS).
It's built on open-source tooling, including `Canonical K8s`_, JupyterLab, and `MLflow <https://ubuntu.com/blog/what-is-mlflow>`_.
It's built on open-source tooling, including `Canonical Kubernetes`_, JupyterLab, and `MLflow <https://ubuntu.com/blog/what-is-mlflow>`_.

DSS is distributed as a `snap`_ and usable on any Ubuntu workstation.
This provides robust security management and user-friendly version control, enabling seamless updates and auto-rollback in case of failure.
Expand Down Expand Up @@ -79,9 +79,9 @@ Orchestration
~~~~~~~~~~~~~

DSS requires a container orchestration solution.
DSS relies on `Canonical K8s`_, a lightweight Kubernetes distribution.
DSS relies on `Canonical Kubernetes`_, a lightweight Kubernetes distribution.

Therefore, Canonical K8s needs to be deployed before installing DSS on the host machine.
Therefore, Canonical Kubernetes needs to be deployed before installing DSS on the host machine.
It must be configured with local storage support to handle persistent volumes used by DSS.

.. _gpu_support:
Expand All @@ -93,7 +93,7 @@ DSS can run with or without the use of GPUs.
If needed, follow `NVIDIA GPU Operator <https://docs.nvidia.com/datacenter/cloud-native/gpu-operator/latest/getting-started.html>`_ for deployment details.

DSS does not automatically install the tools and libraries required for running GPU workloads.
It relies on Canonical K8s for the required operating-system drivers.
It relies on Canonical Kubernetes for the required operating-system drivers.
It also depends on the chosen image, for example, CUDA when working with NVIDIA GPUs.

.. caution::
Expand All @@ -103,7 +103,7 @@ Storage
^^^^^^^

DSS expects a default `storage class <https://kubernetes.io/docs/concepts/storage/storage-classes/>`_ in the Kubernetes deployment, which is used to persist Jupyter Notebooks and MLflow artefacts.
In Canonical K8s, a local storage class should be configured to provision Kubernetes' *PersistentVolumeClaims* (`PVCs <https://kubernetes.io/docs/concepts/storage/persistent-volumes/>`_).
In Canonical Kubernetes, a local storage class should be configured to provision Kubernetes' *PersistentVolumeClaims* (`PVCs <https://kubernetes.io/docs/concepts/storage/persistent-volumes/>`_).

A shared PVC is used across all Jupyter Notebooks to share and persist data.
MLflow also uses its dedicated PVC to store the logged artefacts.
Expand Down Expand Up @@ -142,7 +142,5 @@ This includes the GPU Operator for managing access and usage.
Accessibility
-------------

Jupyter Notebooks and MLflow can be accessed from a web browser through the Pod IP that is given access through Canonical K8s.
Jupyter Notebooks and MLflow can be accessed from a web browser through the Pod IP that is given access through Canonical Kubernetes.
See :ref:`access_notebook` and :ref:`access_mlflow` for more details.

.. _Canonical K8s: https://snapcraft.io/k8s
10 changes: 5 additions & 5 deletions docs/how-to/dss.rst
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ Install
-------

.. note::
To install DSS, ensure you have previously installed `Snap`_ and `Canonical K8s`_.
To install DSS, ensure you have previously installed `Snap`_ and `Canonical Kubernetes`_.

You can install DSS using ``snap`` as follows:

Expand All @@ -31,15 +31,15 @@ Initialise
You can initialise DSS through ``dss initialize``.
This command:

* Stores credentials for the Canonical K8s cluster.
* Stores credentials for the Canonical Kubernetes cluster.
* Allocates storage for your DSS Jupyter Notebooks.
* Deploys an `MLflow <MLflow Docs_>`_ model registry.

.. code-block:: shell

dss initialize --kubeconfig "$(sudo k8s config)"

The ``--kubeconfig`` option is used to provide your Canonical K8s cluster's kubeconfig.
The ``--kubeconfig`` option is used to provide your Canonical Kubernetes cluster's kubeconfig.

.. note::
Note the use of quotes for the ``--kubeconfig`` option. Without them, the content may be interpreted by your shell.
Expand All @@ -63,7 +63,7 @@ You should expect an output like this:
Remove
------

You can remove DSS from your Canonical K8s cluster through ``dss purge``.
You can remove DSS from your Canonical Kubernetes cluster through ``dss purge``.
This command purges all the DSS components, including:

* All Jupyter Notebooks.
Expand All @@ -72,7 +72,7 @@ This command purges all the DSS components, including:

.. note::

This action removes the components of the DSS environment, but it does not remove the DSS CLI or your Canonical K8s cluster.
This action removes the components of the DSS environment, but it does not remove the DSS CLI or your Canonical Kubernetes cluster.
To remove those, `delete their snaps <https://snapcraft.io/docs/get-started>`_.

.. code-block:: bash
Expand Down
10 changes: 5 additions & 5 deletions docs/how-to/enable-gpus/enable-intel-gpu.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ Enable Intel GPUs

This guide describes how to configure Data Science Stack (DSS) to utilise the Intel GPUs on your machine.

You can do so by enabling the Intel device plugin on your `Canonical K8s`_ cluster.
You can do so by enabling the Intel device plugin on your `Canonical Kubernetes`_ cluster.

Prerequisites
-------------
Expand Down Expand Up @@ -44,7 +44,7 @@ If the drivers are correctly installed, you should see information about your GP
Enable the Intel GPU plugin
---------------------------

To ensure DSS can utilise Intel GPUs, you have to enable the Intel GPU plugin in your Canonical K8s cluster.
To ensure DSS can utilise Intel GPUs, you have to enable the Intel GPU plugin in your Canonical Kubernetes cluster.

1. Use `kubectl kustomize` to build the plugin YAML configuration files:

Expand All @@ -61,23 +61,23 @@ To allow multiple containers to utilise the same GPU, run:

sed -i 's/enable-monitoring/enable-monitoring\n - -shared-dev-num=10/' gpu_plugin.yaml

2. Apply the built YAML files to your Canonical K8s cluster:
2. Apply the built YAML files to your Canonical Kubernetes cluster:

.. code-block:: bash

kubectl apply -f node_feature_discovery.yaml
kubectl apply -f node_feature_rules.yaml
kubectl apply -f gpu_plugin.yaml

The Canonical K8s cluster is now configured to recognise and utilise your Intel GPU.
The Canonical Kubernetes cluster is now configured to recognise and utilise your Intel GPU.

.. note::
After the YAML configuration files have been applied, they can be safely deleted.

Verify the Intel GPU plugin
---------------------------

To verify the Intel GPU plugin is installed and the Canonical K8s cluster recognises your GPU, run:
To verify the Intel GPU plugin is installed and the Canonical Kubernetes cluster recognises your GPU, run:

.. code-block:: bash

Expand Down
2 changes: 1 addition & 1 deletion docs/how-to/enable-gpus/enable-nvidia-gpu.rst
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Enable NVIDIA GPUs
==================

This guide describes how to configure Data Science Stack (DSS) to utilise your NVIDIA GPUs within a Canonical K8s environment.
This guide describes how to configure Data Science Stack (DSS) to utilise your NVIDIA GPUs within a Canonical Kubernetes environment.

DSS supports GPU acceleration by leveraging the `NVIDIA GPU Operator`_. The operator ensures that the necessary components, including drivers and runtime, are set up correctly to enable GPU workloads.

Expand Down
4 changes: 2 additions & 2 deletions docs/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,9 +5,9 @@ Data Science Stack documentation
================================

Data Science Stack (DSS) is a ready-to-run environment for Machine Learning (ML) and data science.
It's built on open-source tooling, including Canonical K8s, JupyterLab, and MLflow, and is usable on any Ubuntu/Snap-enabled workstation.
It's built on open-source tooling, including Canonical Kubernetes, JupyterLab, and MLflow, and is usable on any Ubuntu/Snap-enabled workstation.

DSS provides a Command Line Interface (CLI) for managing containerised ML environment images such as PyTorch or TensorFlow, on top of Canonical K8s.
DSS provides a Command Line Interface (CLI) for managing containerised ML environment images such as PyTorch or TensorFlow, on top of Canonical Kubernetes.

Typically, creating ML environments on a workstation involves complex and hard-to-reverse configurations.
DSS solves this problem by providing accessible, production-ready, isolated, and reproducible ML environments that fully utilise a workstation's GPUs.
Expand Down
2 changes: 1 addition & 1 deletion docs/reuse/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
.. _How to publish documentation on Read the Docs: https://library.canonical.com/documentation/publish-on-read-the-docs
.. _Example product documentation: https://canonical-example-product-documentation.readthedocs-hosted.com/

.. _Canonical K8s: https://snapcraft.io/k8s
.. _Canonical Kubernetes: https://snapcraft.io/k8s
.. _Charmed MLflow: https://documentation.ubuntu.com/charmed-mlflow/en/latest/
.. _Code of conduct: https://ubuntu.com/community/ethos/code-of-conduct
.. _Contribute: https://github.com/canonical/data-science-stack/blob/main/CONTRIBUTING.md
Expand Down
14 changes: 7 additions & 7 deletions docs/tutorial/get-started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ Get started with DSS
====================

This guide describes how you can get started with Data Science Stack (DSS).
From setting up Canonical K8s in your host environment, all the way to running your first notebook.
From setting up Canonical Kubernetes in your host environment, all the way to running your first notebook.

Data Science Stack is a ready-made environment that makes it seamless to run GPU-enabled containerised Machine Learning (ML) environments.
It provides easy access to a solution for developing and optimising ML models, utilising your machine's GPUs and allowing users to utilise different ML environment images based on their needs.
Expand All @@ -18,14 +18,14 @@ Requirements

.. _set_canonical_k8s:

Set up Canonical K8s
--------------------
Set up Canonical Kubernetes
----------------------------

DSS relies on a container orchestration system, capable of exposing the host GPUs to the workloads.
`Canonical K8s`_ is used as the orchestration system.
All the workloads and state managed by DSS are running on top of Canonical K8s.
`Canonical Kubernetes`_ is used as the orchestration system.
All the workloads and state managed by DSS are running on top of Canonical Kubernetes.

You can install Canonical K8s using ``snap`` as follows:
You can install Canonical Kubernetes ``k8s snap`` as follows:

.. code-block:: bash

Expand All @@ -50,7 +50,7 @@ Now, install the DSS CLI using the following command:
Initialise DSS
--------------

Next, you need to initialise DSS on top of Canonical K8s and prepare MLflow:
Next, you need to initialise DSS on top of Canonical Kubernetes and prepare MLflow:

.. code-block:: bash

Expand Down
Loading