Wardroom provides tooling that helps simplify the deployment of a Kubernetes cluster. More specifically, Wardroom provides the following functionality:
- Image Building: Building of Kubernetes-ready base operating system images using Packer and Ansible.
- Deployment Orchestration: Ansible-based orchestration to deploy highly-available Kubernetes clusters using kubeadm.
Both use cases share a common set of Ansible roles that can be found in the ansible directory.
Wardroom leverages Packer to build golden images of Kubernetes deployments across a wide variety of operating systems as well as image formats. During the build phase, Wardroom leverages Ansible to configure the base operating system and produce the Kubernetes-ready golden image.
This functionality is used to create base images for the Heptio aws-quickstart.
- AMI
- Ubuntu 16.04 (Xenial)
- Ubuntu 18.04 (Bionic)
- CentOS 7
The swizzle directory contains an Ansible playbook that can be used to orchestrate the deployment of a Kubernetes cluster using kubeadm.
Documentation and usage information can be found in the docs directory.
See our contributing guidelines and our code of conduct. Contributions welcome by all.
Vagrant may be used to test local ansible playbook development. In this scenario, Vagrant makes use of the ansible provisioner to configure the resulting operating system image. To test all operating systems simultaneously:
vagrant up
You may also selectively test a single operating system as such:
vagrant up [xenial|bionic|centos7]
To enable verbose ansible logging, you may do so by setting the WARDROOM_DEBUG
environment variable to 'vvvv'
.
The default Vagrant provisioner is Virtualbox, but other providers are possible by way of the vagrant-mutate plugin.