A declarative framework for resilient Kubernetes deployment.
Go to file
Egorov, Stanislav (se6518) 955deeda41 New source for hyperkube binary definition
Now it's possible to use hyperkube Docker image to extract hyperkube binary.
Use case for this feature is kubelet/kubectl delivery in one binary(hyperkube)
which is built into Docker image. Promenade will extract hyperkube from Docker image,
create symlinks for kubelet/kubectl pointed to hyperkube. To do so promenade container
need to be configured to use Docker on the host where this container will be created.
This is happening only for script generation for genesis node. Later when promenade
will be started as a service pod inside ucp cluster it will generate scripts for joining nodes
by using cached hyperkube from /tmp.

Old way to delivery kubelet from tarball is still supported.

Configuration for the new method.

Need to export environment variables to properly configure Docker in Docker.
Docker socket should be provided as a mounted file inside promenade.
Also need to set temporary permissions for this socket during the build scripts stage.

Example:
DOCKER_SOCK="/var/run/docker.sock"
sudo chmod o+rw $DOCKER_SOCK
export DOCKER_HOST="unix:/${DOCKER_SOCK}"
export PROMENADE_TMP="abs_path_tmp_dir_on_host"
export PROMENADE_TMP_LOCAL="tmp_dir_inside_container"

After genesis scripts generation Docker socket permission should be turned back:
sudo chmod o-rw $DOCKER_SOCK

Change-Id: Ida22ea934fc551fec34df162d8147c8b9e630330
2019-06-06 10:30:29 -07:00
charts New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
doc Move to tiller 2.14.0 2019-05-20 14:17:46 -05:00
etc/promenade Minor testing-related cleanup 2018-01-02 10:14:10 -06:00
examples New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
promenade New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
tests New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
tools New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
.dockerignore Remove tests from images 2018-08-02 15:37:18 -05:00
.gitignore Generalize .fiotest ignore 2019-03-11 14:25:01 -05:00
.gitreview OpenDev Migration Patch 2019-04-19 19:52:18 +00:00
.zuul.yaml Encrypt git mirroring ssh_key to specific project 2019-05-23 13:06:49 -05:00
Dockerfile Enable using PBR for package library 2018-10-25 17:04:29 -05:00
LICENSE Initial commit 2017-02-14 11:13:39 -08:00
Makefile Minor: meaningful default label 2018-11-08 19:32:19 +01:00
README.md Update the README.md File 2018-07-30 15:52:23 -05:00
entrypoint.sh Log client-id in UCP API endpoints 2019-04-05 09:55:15 +00:00
requirements-direct.txt New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
requirements-frozen.txt New source for hyperkube binary definition 2019-06-06 10:30:29 -07:00
requirements.txt Avoid directly installing non-frozen dependencies 2017-10-20 10:54:10 -05:00
setup.cfg Add airship-discuss 2019-01-15 08:27:17 +00:00
setup.py Enable using PBR for package library 2018-10-25 17:04:29 -05:00
test-requirements.txt Moving documentation only requirements into doc/requirements.txt 2019-02-11 12:11:02 +00:00
tox.ini Moving documentation only requirements into doc/requirements.txt 2019-02-11 12:11:02 +00:00

README.md

Promenade

Promenade is a tool for bootstrapping a resilient Kubernetes cluster and managing its life-cycle via Helm charts.

Documentation can be found here.

Roadmap

The detailed Roadmap can be viewed on the OpenStack StoryBoard.

  • Cluster bootstrapping
    • Initial Genesis process results in a single node Kubernetes cluster with Under-cloud components deployed using Armada.
    • Joining sufficient master nodes results in a resilient Kubernetes cluster.
    • Destroy Genesis node after bootstrapping and re-provision as a normal node to ensure consistency.
  • Life-cycle management
    • Decommissioning of nodes.
    • Updating Kubernetes version.

Getting Started

To get started, see getting started.

Configuration is documented here.

Bugs

Bugs are tracked in OpenStack StoryBoard.