Skip to content
Merged
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
3 changes: 3 additions & 0 deletions .cspell/vantage-dictionary.txt
Original file line number Diff line number Diff line change
Expand Up @@ -33,3 +33,6 @@ juju
slurm-juju-localhost
slurm-multipass-localhost
slurm-microk8s-localhost
noVNC
NCCL
vdeployer
52 changes: 21 additions & 31 deletions docs/how-to-guides/workbench/compute/create-pool.mdx
Original file line number Diff line number Diff line change
@@ -1,16 +1,16 @@
---
title: Create a Workbench compute pool
description: Add a compute pool to a Kubernetes cluster for Workbench sessions and training jobs.
description: Add a compute pool to a Kubernetes cluster for Workbench sessions, services, training jobs, and endpoints.
sidebar_label: Create a compute pool
---

# Create a Workbench compute pool

Compute pools provide the infrastructure that Workbench sessions, training jobs, and endpoints run on. This guide walks through creating a new pool from the Workbench interface.
Compute pools provide the Kubernetes node capacity that Workbench sessions, services, training jobs, and endpoints run on. This guide walks through creating a new pool from the Workbench interface.

<div className="guide-intro">
<p>
Add a compute pool to a Kubernetes cluster for Workbench sessions and training jobs.
Add a compute pool to a Kubernetes cluster for Workbench workloads.
</p>

<div className="guide-meta">
Expand All @@ -24,31 +24,24 @@ Compute pools provide the infrastructure that Workbench sessions, training jobs,
</div>
<div className="guide-meta-card">
<span className="guide-meta-label">Outcome</span>
<span className="guide-meta-value">A compute pool ready for sessions and jobs</span>
<span className="guide-meta-value">A compute pool ready for Workbench workloads</span>
</div>
</div>
</div>

<div className="guide-steps">
<div className="guide-step">

## Open the Pools page
## Open Pools

Click **Workbench** in the left sidebar, then click **Pools**.
Click **Workbench** in the left sidebar, then click **Compute > Pools**.

</div>
<div className="guide-step">

## Start pool creation

Click `New Pool`.

</div>
<div className="guide-step">

## Select the cluster

Select the **Kubernetes cluster** the pool will be created on.
Click **New Compute Pool**.

</div>
<div className="guide-step">
Expand All @@ -57,26 +50,23 @@ Select the **Kubernetes cluster** the pool will be created on.

Set the following fields:

- **Name** -- a descriptive identifier (for example, `gpu-training` or `cpu-general`)
- **Role** -- `control` (cluster management) or `worker` (compute workloads)
- **Instance types** (AWS) -- click to open the instance browser and select one or more EC2 types
- **Profile** (non-AWS) -- choose Small (4 vCPU, 8 GiB), Medium (8 vCPU, 16 GiB), or Large (16 vCPU, 32 GiB)
- **Min size** -- minimum number of nodes
- **Max size** -- maximum number of nodes for autoscaling

</div>
<div className="guide-step">

## Add labels and taints (optional)

Optionally add **Labels** (key-value pairs for scheduling) and **Taints** (to restrict which workloads run on this pool).
| Field | Required | What it does |
|---|---|---|
| **Name** | required | Unique identifier for the pool, for example `workers-cpu-small`. |
| **Min Size** | required | Minimum number of nodes. Set to `0` to allow scale-to-zero. |
| **Max Size** | required | Maximum number of nodes for autoscaling. |
| **Instance Type** | required | Cloud machine type selected from the instance browser. |
| **Workload** | required | Workload tag such as workspace, training, inference, cloud-shell, pvc-viewer, or remote-desktop. |
| **Root disk size (GB)** | required | Boot disk size in GiB. Default is `30`. |
| **Secondary Networks** | optional | Additional networks available to the pool. |
| **GPU compute pool** | optional | Enables GPU fields for GPU type, count, and vendor. |

</div>
<div className="guide-step">

## Create

Click `Create`.
Click **Create**.

</div>
</div>
Expand All @@ -85,7 +75,7 @@ Success looks like this: the compute pool is created and enters a ready state, a

<div className="guide-note">

Set `min=0` for scale-to-zero behaviour. Nodes are provisioned on demand and terminated when idle. This reduces costs for bursty workloads but adds 2--5 minutes of startup latency.
Set **Min Size** to `0` for scale-to-zero behavior. Nodes are provisioned on demand and terminated when idle. This reduces costs for bursty workloads but adds startup latency.

</div>

Expand All @@ -97,7 +87,7 @@ The new pool appears in the Pools list with a node count and status. Sessions an

## What to do next

- [Manage compute profiles](/how-to-guides/workbench/compute/managing-profiles) -- configure named sizing options
- [Manage compute pools](/how-to-guides/clusters/kubernetes/manage-compute-pools) -- edit and delete pools from the cluster detail page
- [Manage compute pools in Workbench](/how-to-guides/workbench/compute/managing-profiles) -- edit, delete, and inspect pools
- [Manage compute pools from the cluster detail page](/how-to-guides/clusters/kubernetes/manage-compute-pools) -- edit and delete pools alongside other cluster settings

</div>
10 changes: 5 additions & 5 deletions docs/how-to-guides/workbench/compute/managing-profiles.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ This guide covers the day-to-day tasks for managing compute pools in Workbench:

### Open the Compute Pools page

Navigate to **Workbench > Compute Pools**.
Navigate to **Workbench > Compute > Pools**.

</div>
<div className="guide-step">
Expand Down Expand Up @@ -68,7 +68,7 @@ Click **Create**.
</div>
</div>

Success looks like this: the profile is saved and appears in the profile list, ready to be used for new sessions.
Success looks like this: the pool is saved and appears in the pool list, ready to be used for new Workbench workloads.

The new pool appears in the list and is immediately available for selection when creating sessions, training jobs, or endpoints.

Expand All @@ -79,7 +79,7 @@ The new pool appears in the list and is immediately available for selection when

### Open the pool detail page

Navigate to **Workbench > Compute Pools** and click the pool row to open its detail page.
Navigate to **Workbench > Compute > Pools** and click the pool row to open its detail page.

</div>
<div className="guide-step">
Expand Down Expand Up @@ -111,7 +111,7 @@ Editing a pool does not affect resources that are already running on it. Changes

### Navigate to Compute Pools

Navigate to **Workbench > Compute Pools**.
Navigate to **Workbench > Compute > Pools**.

</div>
<div className="guide-step">
Expand Down Expand Up @@ -155,7 +155,7 @@ If you do not select a pool, the workspace's default pool is used.

### Open the pool detail page

Navigate to **Workbench > Compute Pools** and click a pool row to open its detail page.
Navigate to **Workbench > Compute > Pools** and click a pool row to open its detail page.

</div>
<div className="guide-step">
Expand Down
28 changes: 14 additions & 14 deletions docs/how-to-guides/workbench/develop/cloud-shell.mdx
Original file line number Diff line number Diff line change
@@ -1,11 +1,11 @@
---
title: Use Cloud Shell
description: Launch a browser-based terminal on cluster compute
description: Launch a browser-based terminal on a Workbench compute profile.
---

# Use Cloud Shell

Cloud Shell gives you a browser-based terminal on cluster compute without SSH keys or a local client. It is the fastest way to get a shell on a GPU node.
Cloud Shell gives you a browser-based terminal without SSH keys or a local client. Use it for quick file checks, package inspection, Slurm commands, and lightweight cluster operations from your browser.

<div className="guide-intro">
<p>
Expand All @@ -19,7 +19,7 @@ Cloud Shell gives you a browser-based terminal on cluster compute without SSH ke
</div>
<div className="guide-meta-card">
<span className="guide-meta-label">You will need</span>
<span className="guide-meta-value">A Kubernetes cluster with a compute pool tagged for Cloud Shell</span>
<span className="guide-meta-value">A Kubernetes cluster with a compute profile available for Cloud Shell</span>
</div>
<div className="guide-meta-card">
<span className="guide-meta-label">Outcome</span>
Expand All @@ -35,14 +35,14 @@ Cloud Shell gives you a browser-based terminal on cluster compute without SSH ke

### Open the Cloud Shell page

Click **Workbench** in the left sidebar, then click **Cloud Shell** under the Develop section.
Click **Workbench** in the left sidebar, then click **Develop > Cloud Shell**.

</div>
<div className="guide-step">

### Start creation

Click **+ New Cloud Shell** in the top-right corner.
Click **New cloud shell**.

</div>
<div className="guide-step">
Expand All @@ -51,9 +51,9 @@ Click **+ New Cloud Shell** in the top-right corner.

| Field | Required | Notes |
|---|---|---|
| Name | No | Auto-generated if omitted |
| Compute pool | Yes | Only pools tagged for Cloud Shell appear |
| Slurm cluster | No | Enables Slurm job submission from the terminal |
| Name | No | Auto-generated if omitted. If provided, it must be a valid Kubernetes name. |
| Compute Profile | Yes | The compute profile to run the shell on. Only compatible profiles appear. |
| Slurm Cluster | No | Enables Slurm job submission from the terminal. Select **None** if you do not need Slurm access. |

</div>
<div className="guide-step">
Expand All @@ -64,9 +64,9 @@ Expand **Advanced Options** for additional settings:

| Field | Notes |
|---|---|
| Image version | Override the default ttyd image |
| CPU request / limit | Custom CPU allocation |
| Memory request / limit | Custom memory allocation |
| Image Version | Override the default ttyd image. Leave blank to use the cluster default. |
| CPU | Custom CPU request and limit, for example `500m`. |
| Memory | Custom memory request and limit, for example `512Mi`. |

</div>
<div className="guide-step">
Expand Down Expand Up @@ -99,15 +99,15 @@ Click **Open** to launch the embedded terminal in your browser.
</div>
</div>

The terminal provides a full Linux environment with:
The terminal provides a browser-accessible Linux environment with:

- Workspace storage mounted automatically
- Persistent home directory across sessions
- A persistent home directory for the service
- Slurm CLI tools available if a Slurm cluster is attached

## Delete a Cloud Shell

Cloud Shell does not support pause/resume. When you are finished, click the **...** menu and select **Delete** to free compute resources.
Cloud Shell does not support pause or resume. When you are finished, click the row action menu and select **Delete** to free compute resources.

<div className="guide-related">

Expand Down
123 changes: 22 additions & 101 deletions docs/how-to-guides/workbench/develop/manage-services.mdx
Original file line number Diff line number Diff line change
@@ -1,127 +1,48 @@
---
title: Manage Workbench services
description: Create, monitor, and delete shared services in a Workbench workspace.
sidebar_label: Manage services
title: Manage user services
description: "Create, open, and delete Workbench user services: Cloud Shell, Remote Desktop, and PVC Viewer."
sidebar_label: Manage user services
---

# Manage Workbench services
# Manage user services

Services are shared deployments within a Workbench workspace, such as proxies, databases, or custom tooling that sessions and jobs can access over the cluster network. This guide covers creating, monitoring, and deleting services.
Workbench user services are lightweight browser-accessible tools that run on cluster compute. Unlike sessions, they do not support pause and resume, but they are faster to provision and ideal for quick tasks.

<div className="guide-note">

Services are a platform feature that may vary by workspace configuration. Contact your workspace administrator if the Services page is not visible.

</div>

<div className="guide-intro">
<p>
Create, monitor, and delete shared services in a Workbench workspace.
</p>

<div className="guide-meta">
<div className="guide-meta-card">
<span className="guide-meta-label">Time</span>
<span className="guide-meta-value">About 5 minutes</span>
</div>
<div className="guide-meta-card">
<span className="guide-meta-label">You will need</span>
<span className="guide-meta-value">A Kubernetes cluster with compute pool, admin permissions on the workspace</span>
</div>
<div className="guide-meta-card">
<span className="guide-meta-label">Outcome</span>
<span className="guide-meta-value">A shared service deployed in the workspace</span>
</div>
</div>
</div>
| Service | What it does |
|---|---|
| [Cloud Shell](/how-to-guides/workbench/develop/cloud-shell) | Browser-based terminal with optional Slurm access |
| [Remote Desktop](/how-to-guides/workbench/develop/remote-desktop) | Full graphical environment via noVNC |
| [PVC Viewer](/how-to-guides/workbench/develop/pvc-viewer) | Web-based file browser for persistent volumes |

## Create a service

<div className="guide-steps">
<div className="guide-step">

### Open the Services page

Click **Workbench** in the left sidebar, then click **Services**.

</div>
<div className="guide-step">

### Start creation

Click `New Service`.

</div>
<div className="guide-step">

### Configure the service
Each service has its own creation page. Navigate to the service under **Workbench > Develop**, then click the **New** button. The creation dialog asks for:

Set the following fields:
- **Name** (optional) -- auto-generated if omitted
- **Compute Profile** -- required for Cloud Shell and Remote Desktop, optional for PVC Viewer
- **Slurm Cluster** (optional) -- available on Cloud Shell and Remote Desktop
- **Advanced options** -- image version, CPU, memory, and additional service-specific settings

- **Name** -- a unique identifier for the service
- **Image** -- the container image to run
- **Compute pool** -- the pool to deploy on
- **Port** -- the port the service listens on
## Open a service

</div>
<div className="guide-step">

### Add optional settings

Optionally add environment variables and resource limits (CPU, memory).

</div>
<div className="guide-step">

### Create

Click `Create`.

</div>
</div>

Success looks like this: the service is started or updated, and the endpoint URL is accessible.

The service transitions from **Pending** to **Running** once the container is healthy.

## Check service status

The Services list shows each service with its name, image, status, and internal endpoint. Click a service name to view its detail page with logs and connection information.

## Connect to a service

Running services are accessible from within the cluster network. Use the internal endpoint shown on the service detail page to connect from sessions or jobs. For example:

```
http://<service-name>.<namespace>.svc.cluster.local:<port>
```
When the service status changes to **Running**, click **Open** on the list row or detail page to launch the service in your browser.

## Delete a service

<div className="guide-steps">
<div className="guide-step">

### Open the action menu
User services do not support pause or resume. When you are finished, click the row action menu and select **Delete** to free compute resources.

Click the **...** menu on the service row.

</div>
<div className="guide-step">

### Confirm deletion
<div className="guide-note">

Select **Delete** and confirm.
User services consume compute from your workspace's quota. GPU-tagged services left running idle are the most common source of preventable spend. Delete services you are not actively using.

</div>
</div>

Deleting a service terminates the container and frees compute resources.

<div className="guide-related">

## What to do next

- [Create a session](/how-to-guides/workbench/develop/creating-a-session)
- [Use Cloud Shell](/how-to-guides/workbench/develop/cloud-shell)
- [Use the Remote Desktop](/how-to-guides/workbench/develop/remote-desktop)
- [Browse PVC data](/how-to-guides/workbench/develop/pvc-viewer)

</div>
Loading