A declarative framework for resilient Kubernetes deployment.
3e28b0ee2d
This change corrects two rendering issues in the kube-apiserver anchor script. The details and impact are mentioned below. 1. The kube-apiserver anchor script fails to clean up some files from the host, because the path is incomplete. For example, the cleanup() function of the script includes: rm -f "/host/acconfig.yaml" instead of rm -f "/host/etc/kubernetes/apiserver/acconfig.yaml" 2. A recent change to allow fileless command options [0] caused some extraneous lines to end up in the script. For example, the rendered script includes: snapshot_files() { cp "/tmp/etc/" "${SNAPSHOT_DIR}/etc/kubernetes/apiserver/" } compare_copy_files() { SRC="${SNAPSHOT_DIR}/etc/kubernetes/apiserver/" DEST="/host/etc/kubernetes/apiserver/" if [ ! -e "${DEST}" ] || ! cmp -s "${SRC}" "${DEST}"; then mkdir -p $(dirname "${DEST}") cp "${SRC}" "${DEST}" chmod go-rwx "${DEST}" fi } cleanup() { rm -f "/host/" } Since the 'cp' and 'rm' commands don't include '-r', this is actually non-impacting, other than some log messages. 0: https://review.opendev.org/c/airship/promenade/+/788092 Change-Id: Id0a47727d56268d13ebb4718b8578d94272c2181 |
||
---|---|---|
.github | ||
charts | ||
doc | ||
etc/promenade | ||
examples | ||
images/promenade | ||
promenade | ||
tests | ||
tools | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
.readthedocs.yaml | ||
.zuul.yaml | ||
entrypoint.sh | ||
LICENSE | ||
Makefile | ||
README.md | ||
requirements-direct.txt | ||
requirements-frozen.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
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.