Skip to main content

CLI Reference

Clouder provides a command-line interface built with Typer for managing cloud resources, Kubernetes clusters, and CRIU checkpoints.

Installation

pip install clouder

Global Options

clouder --version       # Show version
clouder --help # Show all commands
clouder --install-completion # Install shell completion (bash/zsh/fish)
clouder --show-completion # Print completion script

Commands Overview

CommandDescription
clouder azureAzure cloud operations — configure credentials, manage VMs, list resources
clouder ctxManage Clouder contexts (cloud provider projects)
clouder k8sManage Kubernetes clusters — create, scale node pools, kubeconfig
clouder kubeadmProvision and set up kubeadm clusters with CRIU support
clouder kubectlRun kubectl with persisted kubeconfig for a cluster
clouder helmRun helm with persisted kubeconfig for a cluster
clouder vmManage virtual machines (multi-cloud: Azure, OVH)
clouder sshSSH into a virtual machine by name
clouder ssh-keyManage SSH keys (local and cloud)
clouder s3Manage S3 buckets
clouder infoShow context and user information
clouder operatorManage the Clouder Kubernetes operator
clouder shRun predefined shell and sbin scripts
clouder serverStart the Clouder Jupyter server extension

Quick Start

# 1. Configure your cloud provider
clouder azure configure

# 2. Create a VM
clouder vm create my-server

# 3. SSH into it
clouder ssh connect my-server

# 4. Create a kubeadm cluster (1 master + 3 workers)
clouder kubeadm vm-create my-cluster

# 5. Set up the cluster (containerd 2.x, CRIU, kubeadm, Flannel CNI, feature gates, Azure CSI drivers)
clouder kubeadm setup my-cluster

# 6. Get kubeconfig (saved to ~/.clouder/kubeconfigs/)
clouder kubeadm get-config my-cluster

# 7. Use kubectl
clouder kubectl my-cluster get nodes

# 8. Check cluster info and next steps
clouder kubeadm info my-cluster

# 9. Enable ingress (pick one: nginx or traefik)
clouder kubeadm enable-ingress-nginx my-cluster
# OR: clouder kubeadm enable-ingress-traefik my-cluster

# 10. Run smoke test (validates ingress + CRIU checkpoint/restore)
clouder kubeadm smoke-test my-cluster

# 11. Scale workers
clouder kubeadm scale my-cluster --workers 5

# 12. Disable ingress
clouder kubeadm disable-ingress-nginx my-cluster
# OR: clouder kubeadm disable-ingress-traefik my-cluster

# 13. Tear down when done
clouder kubeadm vm-terminate my-cluster

# 14. Check cluster info
clouder info ctx

Shell Completion

Clouder supports tab completion for bash, zsh, and fish:

# Install completion for your current shell
clouder --install-completion

# Or manually add to your shell config
eval "$(clouder --show-completion bash)" # bash
eval "$(clouder --show-completion zsh)" # zsh
clouder --show-completion fish | source # fish