Skip to content

gen1us2k/kubeprov

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KubeProv provision of managed kubernetes clusters easily

Roadmap

  • Design configuration layer
  • Design kubeprov.ClusterCreate interface
  • Add support of EKS
  • Add support of GKE
  • Add support of LKE
  • Add support of AKE
  • Handle different node configurations/regions/subnets/VPCs
  • Generate kubeconfig of created cluster

Installing

go get github.com/gen1us2k/kubeprov

Creating cluster on EKS

Using Cli interface

kubeprov create --cluster_name example_cluster --region eu-central-1

Wait up to 10-15 minutes and it'll create a cluster for you

Here's the sample code to spin up a new EKS cluster

Using Go code

package main

import (
	"log"
	
	"github.com/gen1us2k/kubeprov/pkg/eks"
	"github.com/gen1us2k/kubeprov/pkg/config"
)

func main() {
	e, err := eks.NewEKSClient(&config.Config{Region:"eu-central-1", ClusterName:"example_cluster"})
	if err != nil {
		log.Fatal(err)
	}
	if err := e.ProvisionCluster(); err != nil {
		log.Fatal(err)
	}
}

Getting kubeconfig

aws eks update-kubeconfig --region eu-central-1 --name example_cluster
kubectl get nodes 

Deleting cluster on EKS

Using CLI

kubeprov delete --cluster_name example_cluster --region eu-central-1

Using Go Code

package main

import (
	"log"
	
	"github.com/gen1us2k/kubeprov/pkg/eks"
	"github.com/gen1us2k/kubeprov/pkg/config"
)

func main() {
	e, err := eks.NewEKSClient(&config.Config{Region:"eu-central-1", ClusterName:"example_cluster"})
	if err != nil {
		log.Fatal(err)
	}
	if err := e.UnrovisionCluster(); err != nil {
		log.Fatal(err)
	}
}

About

A small library to provision k8s clusters on EKS/Azure/GCP platforms

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages