SkyCluster CLI#

Using skycluster tool you can call skycluster related APIs. For issues and requested features please check out the SkyCluster Cli repository.

Installation#

Download the latest pre-built binary from the releases page and put it in your PATH.

Configuration#

Create a configuration file in your home directory named .skycluster. The configuration file should look like this:

kubeconfig: /home/ubuntu/.kube/config
namespace: skycluster-system

# Show help and usage message
skycluster --help

Available Commands#

profile#

# List all provider profiles
skycluster profile list
skycluster profile create -f <provider-config-file>.yaml -n <provider-name>
skycluster profile delete -n <provider-name>

xprovider#

# List all gateway nodes
skycluster xprovider list
skycluster xprovider create -f <provider-config-file>.yaml -n <provider-name>
skycluster xprovider delete -n <provider-name>

xprovider ssh#

# Enable ssh for selected provider(s)
skycluster xprovider ssh --enable
skycluster xprovider ssh --disable

# Enable ssh for a specific provider
skycluster xprovider ssh -n <provider-name> --enable

xinstance#

# List all xinstance instances across all providers
skycluster xinstance list
skycluster xinstance create -f <instance-config-file>.yaml -n <instance-name>
skycluster xinstance delete -n <instance-name>

xkube#

# List all xkube instances across all providers
skycluster xkube list
skycluster xkube create -f <xkube-config-file>.yaml -n <xkube-name>
skycluster xkube delete -n <xkube-name>

xkube config#

# Write kubeconfig file for all xkubes
skycluster xkube config -o <output-file>.kubeconfig

# Write kubeconfig file for a specific xkube
skycluster xkube config -k <xkube-name> -o <output-file>.kubeconfig

xkube mesh#

# Enable inter-cluster connectivity between all existing Kubernetes clusters
skycluster xkube mesh --enable
skycluster xkube mesh --disable

cleanup#

# Cleanup overlay and service mesh configurations
skycluster cleanup