Create, manage, snapshot, and scale Kubernetes infrastructure in the public cloud.
KEW - BHIK - OH - AR - IN
kubicorn is an unofficial project that solves the Kubernetes infrastructure problem and gives users a rich golang library to work with infrastructure.
kubicorn is a project that helps a user manage cloud infrastructure for Kubernetes.
kubicorn a user can create new clusters, modify and scale them, and take a snapshot of their cluster at any time.
NOTE: This is a work-in-progress, we do not consider it production ready. Use at your own risk and if you're as excited about it as we are, maybe you want to join us on the #kubicorn channel in the Gophers Slack community.
Proudly packaged with Golang dep
This is a community driven project. We love you, and respect you. We are here to help you learn, help you grow, and help you succeed. If you have an idea, please share it.
We are all software engineers, and we all work in many different code bases. We want the code to be stable, and approachable. We strive for clean and simple software, and we encourage refactoring and fixing technical debt.
We want our tool to work, and work well. If an operator is running
kubicorn it should feel comfortable and make sense to them. We want operators to feel empowered.
Infrastructure as software.
We believe that the oh-so important layer of infrastructure should be represented as software (not as code!). We hope that our project demonstrates this idea, so the community can begin thinking in the way of the new paradigm.
Rainbows and Unicorns
We believe that sharing is important, and encouraging our peers is even more important. Part of contributing to
kubicorn means respecting, encouraging, and welcoming others to the project.
$ go get github.com/kris-nova/kubicorn
..or read the Install Guide.
This asciicast shows how to get a Kubernetes cluster on Digital Ocean using kubicorn in less than 5 minutes:
How is Kubicorn different?
- We use kubeadm to bootstrap our clusters
- We strive for developer empathy, and clean and simple code
- We strive for operational empathy, and clean and simple user experience
- We start with struct literals for profiles, and then marshal into an object
- We offer the tooling as a library, more than a command line tool
- We are atomic, and will un-do any work if there is an error
- We run on many operating systems
- We allow users to define their own arbitrary bootstrap logic
- We have no guarantee that anything works, ever, use at your own risk
- We have no dependency on DNS
- We believe in snapshots, and that a user should be able to capture a cluster, and move it
kubicorn lets a user create a Kubernetes cluster in a cloud of their choice.
Define what you want, then apply it. That simple.
kubicorn can adopt any Kubernetes cluster at any time.
kubicorn is powered by a state enforcement pattern.
A user defines the intended state of Kubernetes infrastructure, and
kubicorn can enforce the intended state.
kubicorn allows a user to take a snapshot of a Kubernetes cluster, and run the image in any cloud at any time.
A snapshot is compressed file that will represent intended infrastructure and intended application definitions.
Take a snap, save a snap, deploy a snap.
kubicorn is built as a library and a framework. Thus allowing it to be easily vendored into operator and controller patterns to enforce intended state of infrastructure.
|Install||Install guide for Kubicorn CLI||install|
|Environmental Variables||Master list of supported environmental variables||envvars|
|Kops vs Kubicorn||Blog about kubicorn with comparison table||nivenly.com/kubicorn|
|Azure Walkthrough||A walkthrough guide on installing Kubernetes on Azure||walkthrough|
|AWS Walkthrough||A walkthrough guide on installing Kubernetes on AWS||walkthrough|
|DigitalOcean Walkthrough||A walkthrough guide on installing Kubernetes on D.O.||walkthrough|
|DigitalOcean Quickstart||A quickstart asciicast on installing Kubernetes on D.O.||asciinema|
|Google Compute Engine Walkthrough||A walkthrough guide on installing Kubernetes on GCE||walkthrough|
|Packet Walkthrough||A walkthrough guide on installing Kubernetes on Packet||walkthrough|
|AWS Video||A step by step video of using Kubicorn in AWS||video|
|DigitalOcean Video||A step by step video of using Kubicorn in DigitalOcean||video|
|Tech N Talk Deep Dive||A technical deep dive courtesy of RedHat||youtube|