95643147c5
This change includes several interconnected features: * Migration to Deckhand-based configuration. This is integrated here, because new configuration data were needed, so it would have been wasted effort to either implement it in the old format or to update the old configuration data to Dechkand format. * Failing faster with stronger validation. Migration to Deckhand configuration was a good opportunity to add schema validation, which is a requirement in the near term anyway. Additionally, rendering all templates up front adds an additional layer of "fail-fast". * Separation of certificate generation and configuration assembly into different commands. Combined with Deckhand substitution, this creates a much clearer distinction between Promenade configuration and deployable secrets. * Migration of components to charts. This is a key step that will enable support for dynamic node management. Additionally, this paves the way for significant configurability in component deployment. * Version of kubelet is configurable & controlled via download url. * Restructuring templates to be more intuitive. Many of the templates require changes or deletion due to the migration to charts. * Installation of pre-configured useful tools on hosts, including calicoctl. * DNS is now provided by coredns, which is highly configurable. Change-Id: I9f2d8da6346f4308be5083a54764ce6035a2e10c |
||
---|---|---|
charts | ||
docs/source | ||
example | ||
promenade | ||
tests | ||
tools | ||
.dockerignore | ||
.gitignore | ||
.gitreview | ||
Dockerfile | ||
LICENSE | ||
README.md | ||
Vagrantfile | ||
requirements-frozen.txt | ||
requirements.txt | ||
setup.cfg | ||
setup.py | ||
test-requirements.txt | ||
tox.ini |
README.md
Promenade
Promenade is a tool for bootstrapping a resilient Kubernetes cluster and managing its life-cycle.
Roadmap
The detailed Roadmap can be viewed on the LCOO JIRA.
- 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 LCOO JIRA. If you find a bug, feel free to create a GitHub issue and it will be synced to JIRA.