cake

command module
v0.0.0-...-38b8b32 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: May 15, 2020 License: Apache-2.0 Imports: 1 Imported by: 0

README

CAKE

Test and Build Go Report

! NOTE: This project is currently under heavy early development and is a work in progress. Things can and do change quickly and drastically. For now, one should not expect the workflow or interfaces to be stable, nor should one expect the deployments to be fully functional. This note will be updated soon, when things are stable.

Kubernetes bootstrapping is a piece of cake! Our "Cloud Adjacent Kubernetes Engine", is a simple tool used to deploy on-premise Kubernetes management platforms.

What is the cake binary

The cake binary is a utility written in golang to automate bootstrapping a Kubernetes management cluster like CAPv or RKE.

Primary Focus

Provide a mechanism for easy, automated deployment of a fully functional and officially supported Rancher installation on both vSphere and Bare Metal Linux environments.

Cake is a utility. It can be run from multiple OS platforms (Mac OS, Linux and even Windows). It's designed to be modular with minimal dependencies and to be run in multiple environments. It makes the task of deploying Kubernetes management clusters, like Rancher just a bit easier.

Design Principals

  • Easy Deploy
  • Fast Deploy
  • Fully functional Rancher deployment including Rancher UI and Kubernets API access
  • Modular Building Block
  • Upgradable
  • Support multiple Kubernetes management platforms (cluster-api, rke, etc)
  • Support multiple infrastructure providers (hypervisors, bare metal, clouds, etc)
  • Work in general DHCP environments
  • Work in DHCP environment with static host reservations requirements
  • Work without DHCP; end user provides IPs for all nodes

Non-Goals

  • Any cluster lifecycle management after a Kubernetes management platform is stood up
  • Any kind of worker cluster deployment
  • IP address management
  • TLS certificate creation or management
  • DNS record creation or management
  • DHCP host reservation creation or management

Roadmap

Roadmap

Getting Started

Install

Fetch the latest binary release for your platform from the projects Github Release page.

genconfig

cake genconfig

Takes user input and builds a spec.yaml file that includes your vSphere endpoint credentials, and options for extra items to install.

deploy

cake deploy --deployment-type rke --name my-awesome-cluster --spec-file path/to/your/spec.yaml

Will deploy the specified management cluster type to the provider specified in the spec file. Omit the --spec-file option and cake will look for the spec file in the directory of the cluster name (~/.cake/my-awesome-cluster/spec.yaml).

destroy

cake destroy --name my-awesome-cluster --spec-file path/to/your/spec.yaml

Will destroy the management cluster of the given spec file. Omit the --spec-file option and cake will look for the spec file in the directory of the cluster name (~/.cake/my-awesome-cluster/spec.yaml).

Documentation

Overview

Copyright © 2020 NAME HERE <EMAIL ADDRESS>

Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL