Datalayer on Kubernetes
This section details the steps to take to deploy the Datalayer services on a Kubernetes (K8S) cluster.
The following pre-requisites are needed to deploy the Datalayer services.
☸️ A Kubernetes cluster with administrator access.
🐳 Docker Images available in a Docker Repository.
⚓ Helm Charts available in a OCI Repository.
🫧 Configuration and Environment Variables.
🔒 Secrets available in a Vault.
title: Cluster
Cluster
Clouder creates and manages Kubernetes clusters using Kubeadm on cloud VMs, with built-in support for CRIU checkpoint/restore. This enables snapshotting running pods (e.g., Jupyter notebook sessions) and restoring them later on the same or different hardware.
Architecture
┌──────────────┐ ┌──────────────┐ ┌──────────────┐
│ Azure │ │ OVH │ │ Bare Metal │
│ VMs │ │ VMs │ │ Servers │
└──────┬───────┘ └──────┬───────┘ └──────┬───────┘
│ │ │
└────────────────────┼────────────────────┘
│
┌──────────▼──────────┐
│ Kubeadm │
│ (cluster bootstrap)│
└──────────┬──────────┘
│
┌──────────▼──────────┐
│ Kubernetes + │
│ CRIU enabled │
└─────────────────────┘
Quick Start
# Install Clouder
pip install clouder
# Check version and available commands
clouder --version
clouder --help
Context Management
# Initialize a new context
clouder ctx init
# List and select contexts
clouder ctx ls
clouder ctx show
clouder ctx set azure <context-id>
clouder ctx set ovh <context-id>
Cloud Provider Setup
Configure your cloud provider credentials:
# Azure (interactive setup)
clouder azure configure
# View Azure configuration
clouder azure
See the Azure Setup guide for detailed instructions.
Cluster Operations
# Create a cluster
export CLUSTER_NAME=my-cluster
clouder k8s create $CLUSTER_NAME
# Get kubeconfig
clouder k8s kubeconfig $CLUSTER_NAME
# Set as active cluster
clouder k8s use $CLUSTER_NAME
# List clusters
clouder k8s ls
Node Pools
# Create worker node pools
clouder k8s create-nodepool $CLUSTER_NAME \
system --flavor Standard_D4s_v5 \
--min 1 --desired 2 --max 10 \
--roles system --xpu cpu
# Create GPU node pool for Jupyter
clouder k8s create-nodepool $CLUSTER_NAME \
jupyter-gpu --flavor Standard_NC6s_v3 \
--min 0 --desired 1 --max 5 \
--roles jupyter --xpu gpu-cuda
# Scale a node pool
clouder k8s update-nodepool $CLUSTER_NAME \
jupyter-gpu --min 0 --desired 0 --max 5
Virtual Machines
# Azure VMs
clouder azure vm-ls
clouder azure vm-create
clouder azure vm-delete <name> --resource-group <rg>
# OVH VMs
clouder vm ls
clouder vm create
Storage and SSH
# S3 buckets
clouder s3 create my-bucket
clouder s3 ls
# SSH keys
clouder ssh-key ls
clouder ssh-key create my-key
Operator and Server
# Start/stop the Clouder Kubernetes operator
clouder operator start
clouder operator stop
# Start the Clouder Jupyter server extension
clouder server
System Info
# Current context info
clouder info ctx
clouder info me
Documentation
| Section | Description |
|---|---|
| Azure Setup | Configure Azure credentials, create VMs, manage resources |
| Clouder K8S | How Clouder uses Kubeadm to bootstrap Kubernetes clusters |
| CRIU | Checkpoint and restore pods with CRIU |
| CLI Reference | Full command reference for all Clouder CLI commands |
🗃️ Requirements
9 items
🗃️ Registries
2 items
🗃️ Kubernetes
8 items
🗃️ Services
13 items
🗃️ Integrations
2 items
🗃️ Deployments
5 items
🗃️ Operations
7 items
🗃️ Benchmarks
2 items
Once you've completed the guides, you'll possess the fundamental knowledge needed to configure and oversee the services enabling Jupyter clients to scale their data analysis.