This is an Ansible playbook that configures a Kubernetes cluster and deploys a full set of self hosted tools for a new company. After you point a wildcard A record to the cluster, you will be able to access the following tools. The goal of this project is to create a one stop shop for self hosting your infrastructure.
- Kanban board - Using Wekan. This is connected to Mongo DB and will be accessable at http://kanban.root_domain
- Mysql cluster - Using Presslabs Mysql Operator
- MongoDB cluster
- Python
- Pip
- Pipenv
- Docker
- SSH access to all nodes you're deploying to.
- A standard user with sudo access to all nodes
- Ubuntu or Debian
- Internet access
- Copy
hosts.example
tohosts
- Put ip addresses under the sections
- Masters are nodes used for managing a kubernetes cluster. It is recommended to has 3 or 5 masters.
- Workers are nodes used for running containers. You can have as many as necessary.
- Copy group_vars/all.example to group_vars/all
- This is where a lot of configuration comes in. Please see our documentation.
- Run
bash supporting-scripts/deploy.sh
You can easily run a lab environment with Vagrant.
- Install Virtualbox
- Install Vagrant
- Run
vagrant up
- Run
vagrant ssh client -c 'bash /vagrant/tests/files/run-test-deploy.sh'
- Now navigate to any of the services at http://servicename.192.168.254.3.xip.io (for example: http://ceph.192.168.254.3.xip.io)
This project is tested with bash and Vagrant.
- Install Virtualbox
- Install Vagrant
- Run
bash tests/vagrant-tests.sh