From b2dbbaaf37f9b2d69cd1eb6a05b0322473e270cd Mon Sep 17 00:00:00 2001 From: JamieWeider72 <147967555+JamieWeider72@users.noreply.github.com> Date: Thu, 1 Aug 2024 16:46:59 +0300 Subject: [PATCH 1/3] Existing PVC v218 --- .../workspaces/blocks/Existing PVC.md | 90 ------------------ .../workspaces/blocks/existing-PVC.md | 90 ++++++++++++++++++ .../workspaces/create/img/10-pvc.png | Bin 0 -> 7576 bytes .../workspaces/create/img/9-scope.png | Bin 0 -> 40001 bytes mkdocs.yml | 1 + 5 files changed, 91 insertions(+), 90 deletions(-) delete mode 100644 docs/Researcher/user-interface/workspaces/blocks/Existing PVC.md create mode 100644 docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md create mode 100644 docs/Researcher/user-interface/workspaces/create/img/10-pvc.png create mode 100644 docs/Researcher/user-interface/workspaces/create/img/9-scope.png diff --git a/docs/Researcher/user-interface/workspaces/blocks/Existing PVC.md b/docs/Researcher/user-interface/workspaces/blocks/Existing PVC.md deleted file mode 100644 index 2dbc829f56..0000000000 --- a/docs/Researcher/user-interface/workspaces/blocks/Existing PVC.md +++ /dev/null @@ -1,90 +0,0 @@ -# Persistent volume claim (PVCs) - -# Persistent Volumes (PVs) & Persistent Volume Claims (PVCs) - -Persistent Volumes (PVs) and Persistent Volume Claims (PVCs) are concepts in Kubernetes for managing storage. A PV is a piece of storage in the cluster, provisioned by an administrator or dynamically by Kubernetes using a StorageClass. It is a resource in the cluster, just like a node is a cluster resource. - -PVCs are requests for storage by a user. They are similar to pods, in that pods consume node resources and PVCs consume PV resources. PVCs allow users to request specific sizes and access modes (for example, read/write once, read-only many) without needing to know the details of the underlying storage infrastructure. - -Using PVs and PVCs in Kubernetes is essential for AI workloads as they provide a reliable and consistent way to manage storage that persists beyond the lifecycle of individual pods. This ensures that data generated by AI workloads is not lost when pods are rescheduled or updated, providing a seamless and efficient storage solution that can handle the large datasets typically associated with AI projects. - -## Data source of type Persistent Volume Claim (PVC) - -At Run:ai, a data source of type PVC is an abstraction, mapping directly to a Kubernetes PVC. This type of integration allows you to specify and manage your data storage requirements within the Run:ai platform, while using familiar Kubernetes storage concepts. - -By leveraging PVCs as data sources, Run:ai enables access to persistent storage for workloads, ensuring that data remains consistent and accessible across different compute resources and workload executions. - -## Creating a data source of type PVC via the UI - -Like any other asset, when creating a data source, the user can select the scope of the data source, based on their permissions set in Run:ai’s Role Based Access Control (RBAC) system. - -For example: By selecting Department B as the scope of the asset, any user with a role which allows them to view the data source in Department A or any of its subordinate units (current and future) can view this PVC. -![][image1] - -There are two different ways of creating data source of type PVC: - -1. **Existing PVC** \- Data source of type PVC using an existing PVC in the cluster -1. **New PVC** \- Data source of type PVC by creating a new pvc in the cluster![][image2] - -**NOTE**: If there are no existing PVCs that Run:ai has visibility or authorization to use, this option is disabled in the Run:ai platform. For details on providing visibility and authorization, see below Existing PVC. - -## Existing PVC - -To select an existing PVC in the Run:ai platform, the admin is responsible for performing a number of actions prior to creating the data source via the Run:ai UI (or API). These actions provide Run:ai with access to the existing PVC, authorization to share across the selected scope and eventually result in exposing the existing PVC in the UI for the user to select. - -Click the link for more information on [creating a data source of type PVC via API](https://envinaclickstaging.staging.run.ai/api/docs\#tag/PVC/operation/create\_pvc\_asset). - -The actions taken by the admin are based on the scope (cluster, department or project) that the admin wants for data source of type PVC. - -### For a cluster scope - -1. Locate the PVC in the runai namespace -1. Provide Run:ai with visibility and authorization to share the PVC to your selected scope by implementing the following label: - [run.ai/cluster-wide](http://run.ai/cluster-wide): "true" - **NOTE:** This step is also relevant for creating the data source of type PVC via API. - - In the Run:ai platform finish creating the data source of type PVC: - -1. Select your cluster as a scope - 1. Select the existing PVC - 1. Complete all mandatory fields - 1. Click Create - -### For a department scope: - -1. Locate the PVC in the runai namespace -1. Provide Run:ai with visibility and authorization to share the PVC to your selected scope by implementing the following label: - [run.ai/department](http://run.ai/department): "\" -1. In the Run:ai platform finish creating the data source of type PVC: - 1. Select you department as a scope (the same one as in the label) - 1. Select the existing PVC - 1. Complete all mandatory fields - 1. Click Create - -### For a project scope: - -**NOTE**: For project scope, no labels are required. - -1. In the Run:ai platform finish creating the data source of type PVC: - 1. Select your project as a scope - 1. Select the existing PVC - 1. Complete all mandatory fields - 1. Click Create - -## Creating a new PVC - -When creating a data source of type PVC using a new PVC, Run:ai creates the PVC for you in the cluster. - -1. Select your scope of choice -1. Select new PVC -1. Complete all mandatory fields -1. Click Create - -**NOTES**: - -* When creating data source of type PVC using a new PVC, the PVC is created immediately in the cluster runai namespace (even if no workload has requested to use this PVC) -* A PVC created in the cluster by selecting the option “New PVC” never appears as a PVC in the “Existing PVC“ option. - -[image1]: - -[image2]: \ No newline at end of file diff --git a/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md b/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md new file mode 100644 index 0000000000..408e496e9b --- /dev/null +++ b/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md @@ -0,0 +1,90 @@ +# Persistent volume claim (PVCs) + +# Persistent Volumes (PVs) & Persistent Volume Claims (PVCs) + +Persistent Volumes (PVs) and Persistent Volume Claims (PVCs) are concepts in Kubernetes for managing storage. A PV is a piece of storage in the cluster, provisioned by an administrator or dynamically by Kubernetes using a StorageClass. It is a resource in the cluster, just like a node is a cluster resource. + +PVCs are requests for storage by a user. They are similar to pods, in that pods consume node resources and PVCs consume PV resources. PVCs allow users to request specific sizes and access modes (for example, read/write once, read-only many) without needing to know the details of the underlying storage infrastructure. + +Using PVs and PVCs in Kubernetes is essential for AI workloads as they provide a reliable and consistent way to manage storage that persists beyond the lifecycle of individual pods. This ensures that data generated by AI workloads is not lost when pods are rescheduled or updated, providing a seamless and efficient storage solution that can handle the large datasets typically associated with AI projects. + +## Data source of type Persistent Volume Claim (PVC) + +At Run:ai, a data source of type PVC is an abstraction, mapping directly to a Kubernetes PVC. This type of integration allows you to specify and manage your data storage requirements within the Run:ai platform, while using familiar Kubernetes storage concepts. + +By leveraging PVCs as data sources, Run:ai enables access to persistent storage for workloads, ensuring that data remains consistent and accessible across different compute resources and workload executions. + +## Creating a data source of type PVC via the UI + +Like any other asset, when creating a data source, the user can select the scope of the data source, based on their permissions set in Run:ai’s Role Based Access Control (RBAC) system. + +For example: By selecting Department B as the scope of the asset, any user with a role which allows them to view the data source in Department A or any of its subordinate units (current and future) can view this PVC. +![](img/9-scope.png) + +There are two different ways of creating data source of type PVC: + +1. **Existing PVC** \- Data source of type PVC using an existing PVC in the cluster +1. **New PVC** \- Data source of type PVC by creating a new pvc in the cluster! +![](img/10-pvc.png) + +!!! NOTE + If there are no existing PVCs that Run:ai has visibility or authorization to use, this option is disabled in the Run:ai platform. For details on providing visibility and authorization, see below Existing PVC. + +## Existing PVC + +To select an existing PVC in the Run:ai platform, the admin is responsible for performing a number of actions prior to creating the data source via the Run:ai UI (or API). These actions provide Run:ai with access to the existing PVC, authorization to share across the selected scope and eventually result in exposing the existing PVC in the UI for the user to select. + +Click the link for more information on [creating a data source of type PVC via API](https://envinaclickstaging.staging.run.ai/api/docs\#tag/PVC/operation/create\_pvc\_asset). + +The actions taken by the admin are based on the scope (cluster, department or project) that the admin wants for data source of type PVC. + +### For a cluster scope + +1. Locate the PVC in the runai namespace +1. Provide Run:ai with visibility and authorization to share the PVC to your selected scope by implementing the following label: + [run.ai/cluster-wide](http://run.ai/cluster-wide): "true" + +!!! NOTE + This step is also relevant for creating the data source of type PVC via API. + +In the Run:ai platform finish creating the data source of type PVC: + +1. Select your cluster as a scope + 1. Select the existing PVC + 1. Complete all mandatory fields + 1. Click Create + +### For a department scope + +1. Locate the PVC in the runai namespace +1. Provide Run:ai with visibility and authorization to share the PVC to your selected scope by implementing the following label: + [run.ai/department](http://run.ai/department): "\" +1. In the Run:ai platform finish creating the data source of type PVC: + 1. Select you department as a scope (the same one as in the label) + 1. Select the existing PVC + 1. Complete all mandatory fields + 1. Click Create + +### For a project scope + +!!! NOTE + For project scope, no labels are required. + +1. In the Run:ai platform finish creating the data source of type PVC: + 1. Select your project as a scope + 1. Select the existing PVC + 1. Complete all mandatory fields + 1. Click Create + +## Creating a new PVC + +When creating a data source of type PVC using a new PVC, Run:ai creates the PVC for you in the cluster. + +1. Select your scope of choice +1. Select new PVC +1. Complete all mandatory fields +1. Click Create + +!!! NOTES + When creating data source of type PVC using a new PVC, the PVC is created immediately in the cluster runai namespace (even if no workload has requested to use this PVC). + A PVC created in the cluster by selecting the option “New PVC” never appears as a PVC in the “Existing PVC“ option. \ No newline at end of file diff --git a/docs/Researcher/user-interface/workspaces/create/img/10-pvc.png b/docs/Researcher/user-interface/workspaces/create/img/10-pvc.png new file mode 100644 index 0000000000000000000000000000000000000000..37ca552401f337863cad4b1d5d8adcc8fa7770a9 GIT binary patch literal 7576 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 literal 0 HcmV?d00001 diff --git a/docs/Researcher/user-interface/workspaces/create/img/9-scope.png b/docs/Researcher/user-interface/workspaces/create/img/9-scope.png new file mode 100644 index 0000000000000000000000000000000000000000..160f22c28a4fb77175fe0065837b7123b8de04f1 GIT binary patch literal 40001 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 literal 0 HcmV?d00001 diff --git a/mkdocs.yml b/mkdocs.yml index d3b55256cb..b89daa79ae 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -244,6 +244,7 @@ nav: - 'Environments' : 'Researcher/user-interface/workspaces/blocks/environments.md' - 'Compute Resources': 'Researcher/user-interface/workspaces/blocks/compute.md' - 'Data Sources' : 'Researcher/user-interface/workspaces/blocks/datasources.md' + - 'existing-pvc' : 'Researcher/user-interface/workspaces/blocks/existing-pvc.md' - 'Creation' : - 'Create an Environment' : 'Researcher/user-interface/workspaces/create/create-env.md' - 'Create a Compute Resource' : 'Researcher/user-interface/workspaces/create/create-compute.md' From 126815dc017b816407cbb342c850e5cade1fa7ca Mon Sep 17 00:00:00 2001 From: JamieWeider72 <147967555+JamieWeider72@users.noreply.github.com> Date: Sun, 4 Aug 2024 09:50:43 +0300 Subject: [PATCH 2/3] Updated PVC for 218 --- .../user-interface/workspaces/blocks/existing-PVC.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md b/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md index 408e496e9b..e495cd0d37 100644 --- a/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md +++ b/docs/Researcher/user-interface/workspaces/blocks/existing-PVC.md @@ -23,8 +23,8 @@ For example: By selecting Department B as the scope of the asset, any user with There are two different ways of creating data source of type PVC: -1. **Existing PVC** \- Data source of type PVC using an existing PVC in the cluster -1. **New PVC** \- Data source of type PVC by creating a new pvc in the cluster! +1. **Existing PVC**-Data source of type PVC using an existing PVC in the cluster +1. **New PVC**-Data source of type PVC by creating a new pvc in the cluster! ![](img/10-pvc.png) !!! NOTE From 5637179853ff738b0932f48a52f16c74dd4c3549 Mon Sep 17 00:00:00 2001 From: JamieWeider72 <147967555+JamieWeider72@users.noreply.github.com> Date: Sun, 4 Aug 2024 09:51:42 +0300 Subject: [PATCH 3/3] Updated for existing pbv --- mkdocs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/mkdocs.yml b/mkdocs.yml index b89daa79ae..95b5941bd9 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -244,7 +244,7 @@ nav: - 'Environments' : 'Researcher/user-interface/workspaces/blocks/environments.md' - 'Compute Resources': 'Researcher/user-interface/workspaces/blocks/compute.md' - 'Data Sources' : 'Researcher/user-interface/workspaces/blocks/datasources.md' - - 'existing-pvc' : 'Researcher/user-interface/workspaces/blocks/existing-pvc.md' + - 'Existing PVC' : 'Researcher/user-interface/workspaces/blocks/existing-pvc.md' - 'Creation' : - 'Create an Environment' : 'Researcher/user-interface/workspaces/create/create-env.md' - 'Create a Compute Resource' : 'Researcher/user-interface/workspaces/create/create-compute.md'