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).