Skip to main content

Clusters

Manage and access your Kubernetes clusters.

List Clusters​

View all clusters in your account:

canine clusters list

Output:

| ID | NAME           | CLUSTER_TYPE | STATUS  | CREATED_AT          | UPDATED_AT          |
|----|----------------|--------------|---------|---------------------|---------------------|
| 1 | production | K8s | Running | 2024-01-15 10:30:00 | 2024-01-15 10:45:00 |
| 2 | staging | K3s | Running | 2024-02-20 14:00:00 | 2024-02-20 14:15:00 |

Cluster Types​

TypeDescription
K8sFull Kubernetes cluster
K3sLightweight K3s cluster

Cluster Status Values​

StatusDescription
InitializingCluster is being created
InstallingCluster components are being installed
RunningCluster is healthy and operational
FailedCluster encountered an error
DestroyingCluster is being deleted

Download Kubeconfig​

Download the kubeconfig file for direct kubectl access to a cluster:

canine clusters download-kubeconfig --cluster <CLUSTER>

The kubeconfig is saved to ~/.canine/kubeconfig.yaml.

Example​

canine clusters download-kubeconfig --cluster production

Output:

Saved kubeconfig to /Users/you/.canine/kubeconfig.yaml

Using the Kubeconfig​

Set the KUBECONFIG environment variable to use the downloaded config:

export KUBECONFIG=~/.canine/kubeconfig.yaml
kubectl get pods --all-namespaces

Or specify it per-command:

kubectl --kubeconfig ~/.canine/kubeconfig.yaml get pods
tip

The canine projects run command automatically downloads and uses the correct kubeconfig for you.

Connect via Telepresence​

Connect to a cluster's network using telepresence, allowing you to access internal services from your local machine:

canine clusters connect --cluster <CLUSTER>

If --cluster is omitted, you'll be prompted to select a cluster interactively.

Options​

OptionDescription
--cluster <CLUSTER>Cluster name (interactive selection if omitted)

Prerequisites​

Telepresence must be installed on your machine. Install it from telepresence.io.

Example​

canine clusters connect --cluster staging

Once connected, you can access services running in the cluster using their internal DNS names (e.g., my-app-web.my-app.svc.cluster.local).