/ksctl

CLI to deploy kubernetes in different clouds

Primary LanguageGoMIT LicenseMIT

Cross Cloud Kubernetes Control

A cross cloud kubernetes deploying command line.

Usage

  • Download perferred version for your OS
  • Move it to path eg /usr/local/bin and rename it to totp
  • Add a file name example.yml
  • Add content like
# example.yaml
name: demo-cluster-yaml
provider: do
region: blr1
nodes:
  - type: s-1vcpu-2gb
    count: 2
  - type: s-2vcpu-2gb
    count: 2
  • Run ksctl create cluster --config example.yaml

Development requirement

  • Golang 1.14
  • upx (for compressing executable)

Linux

sudo apt install upx -y

using snap

sudo snap install upx

macOS

brew install upx

Building

./build.sh

Deploying in DigitalOcean

# example.yaml
name: demo-cluster-yaml
provider: do
region: blr1
nodes:
  - type: s-1vcpu-2gb
    count: 2
  - type: s-2vcpu-2gb
    count: 2
./ksctl create cluster --config example.yaml # create cluster
kubectl get node --kubeconfig <cluster_name>-kubeconfig # show nodes to new k8s cluster
./ksctl list --provider do # list all cluster for give provider
./ksctl delete --config example.yaml # delete cluster

Progress

  • DigitalOcean Deploy cluster
  • AWS EKS Deploy Cluster
  • Azure EKS Deploy Cluster
  • GCP GKE Deploy Cluster
  • Linode Deploy Cluster
  • Update Clusters
  • Deploying Databases