A declarative framework for resilient Kubernetes deployment.
Go to file
Mark Burnett fac36cec4f Merge pull request #9 from mark-burnett/cleanup-etcd-join
Use auxiliary etcd instances to smooth join process
2017-06-20 10:45:10 -05:00
example Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
promenade fix incorrect spelling of auxiliary in filename 2017-06-20 10:08:35 -05:00
.dockerignore Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
.gitignore Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
Dockerfile Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
genesis.sh Adding support for Environment variables with sudo -E 2017-06-19 15:43:53 -04:00
join.sh Adding support for Environment variables with sudo -E 2017-06-19 15:43:53 -04:00
LICENSE Initial commit 2017-02-14 11:13:39 -08:00
README.md Adding support for Environment variables with sudo -E 2017-06-19 15:43:53 -04:00
requirements-frozen.txt Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
requirements.txt Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
setup.cfg Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
setup.py Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00
Vagrantfile Basic HA kubernetes deployment (#7) 2017-06-15 20:57:22 -07:00

Overview

Promenade is tool for deploying self-hosted, highly resilient Kubernetes clusters.

Quickstart using Vagrant

Make sure you have Vagrant and VirtualBox installed.

Start the VMs:

vagrant up

Start the genesis node:

vagrant ssh n0 -c 'sudo /vagrant/genesis.sh /vagrant/example/vagrant-config.yaml'

Join the master nodes:

vagrant ssh n1 -c 'sudo /vagrant/join.sh /vagrant/example/vagrant-config.yaml'
vagrant ssh n2 -c 'sudo /vagrant/join.sh /vagrant/example/vagrant-config.yaml'

Join the worker node:

vagrant ssh n3 -c 'sudo /vagrant/join.sh /vagrant/example/vagrant-config.yaml'

Building the image

docker build -t quay.io/attcomdev/promenade:experimental .

Using Promenade Behind a Proxy

To use Promenade from behind a proxy, simply export HTTP_PROXY, HTTPS_PROXY, and NO_PROXY environment variables on the vagrant host prior to executing the genesis.sh and join.sh scripts respectively. Alternatively, you may also export the DOCKER_HTTP_PROXY, DOCKER_HTTPS_PROXY, and DOCKER_NO_PROXY directly. Ensure you are running the script with sudo -E option to preserve the environment variables.

vagrant ssh n0
cd /vagrant
export DOCKER_HTTP_PROXY="http://proxy.server.com:8080"
export DOCKER_HTTPS_PROXY="https://proxy.server.com:8080"
export DOCKER_NO_PROXY="localhost,127.0.0.1"
sudo -E /vagrant/genesis.sh /vagrant/example/vagrant-config.yaml