Skip to main content

Overview

View and manage Kubernetes clusters in your Qovery organization.

Commands

List Clusters

List all clusters in current organization:
qovery cluster list
FlagDescription
--organizationOrganization Name
--jsonJSON output

Deploy Cluster

Deploy a cluster:
qovery cluster deploy --cluster "cluster-name"
FlagDescription
--organizationOrganization Name
--cluster / -nCluster Name (required)
--watch / -wWatch cluster status until it’s ready or an error occurs

Stop Cluster

Stop a cluster:
qovery cluster stop --cluster "cluster-name"
FlagDescription
--organizationOrganization Name
--cluster / -nCluster Name (required)
--watch / -wWatch cluster status until it’s ready or an error occurs

Install Cluster

Install Qovery on your cluster:
qovery cluster install

Upgrade Cluster

Upgrade a cluster to the next Kubernetes version:
qovery cluster upgrade --cluster "cluster-name"
FlagDescription
--organizationOrganization Name
--cluster / -nCluster Name (required)
--watch / -wWatch cluster status until it’s ready or an error occurs
--skip-confirmation / -ySkip prompt confirmation

Download Kubeconfig

Download kubeconfig file for kubectl access:
qovery cluster kubeconfig --cluster-id "cluster-id"
FlagDescription
--cluster-id / -cCluster ID (required)
This command generates a kubeconfig file that allows you to connect to your cluster using kubectl.

Get Cluster Token

Get an auth token for a cluster:
qovery cluster get-token --cluster-id "cluster-id"
FlagDescription
--cluster-id / -cCluster ID

Lock Cluster

Lock a cluster to prevent changes:
qovery cluster lock \
  --cluster-id "cluster-id" \
  --reason "maintenance"
FlagDescription
--cluster-id / -cCluster ID (required)
--reason / -rReason (required)
--ttl-in-days / -dTime-to-live for the lock in days (1 to 5 days)

Unlock Cluster

Unlock a cluster:
qovery cluster unlock --cluster-id "cluster-id"
FlagDescription
--cluster-id / -cCluster ID

List Cluster Nodes

List nodes of a cluster:
qovery cluster list-nodes --cluster-id "cluster-id"
FlagDescription
--cluster-id / -cCluster ID

Open Debug Pod

Launch an interactive debug pod with kubectl pre-configured:
qovery cluster debug-pod \
  --organization-id "org-id" \
  --cluster-id "cluster-id"
FlagDescription
--organization-id / -oOrganization ID
--cluster-id / -cCluster ID (required)
--node-selector / -nSpecify a node selector for the debug pod to be started on
--full-privilege / -pStart a full privileged debug pod which has access to host machine
This opens a debug shell inside your cluster with kubectl access, perfect for troubleshooting.

Examples

List All Clusters

# Set organization context
qovery context set --organization "My Org"

# List clusters
qovery cluster list

# List clusters with JSON output
qovery cluster list --json

Deploy and Watch Cluster

qovery cluster deploy \
  --cluster "prod-us-east" \
  --watch

Get kubectl Access

# Download kubeconfig file
qovery cluster kubeconfig --cluster-id "abc123"

# Set kubectl to use the downloaded config
export KUBECONFIG=./kubeconfig-abc123.yaml

# Test connection
kubectl get nodes

Open Debug Pod for Troubleshooting

# Launch debug pod
qovery cluster debug-pod \
  --organization-id "org-abc123" \
  --cluster-id "cluster-abc123"

# Launch privileged debug pod on a specific node
qovery cluster debug-pod \
  --organization-id "org-abc123" \
  --cluster-id "cluster-abc123" \
  --node-selector "kubernetes.io/hostname=my-node" \
  --full-privilege

# Inside the debug pod, you can run kubectl commands:
# kubectl get pods --all-namespaces
# kubectl logs <pod-name> -n <namespace>
# exit

Upgrade Cluster

# Upgrade with confirmation prompt
qovery cluster upgrade --cluster "prod-us-east"

# Upgrade without confirmation and watch progress
qovery cluster upgrade \
  --cluster "prod-us-east" \
  --skip-confirmation \
  --watch

Tips

Use qovery cluster deploy --watch to monitor cluster deployment progress in real time.
Use qovery cluster kubeconfig to get full kubectl access to your cluster for advanced operations.
The debug-pod command is perfect for quick troubleshooting without needing to configure kubectl locally.
Use qovery cluster lock during planned maintenance to prevent accidental changes to your cluster.