A collection of Salt states used to provision a kubernetes cluster in the context of CaaSP/MicroOS.
First of all, you have to install tox:
% zypper in python-tox
After that, from the root of the project you can run style checks:
$ tox -e flake8
And unit tests:
$ tox -e tests-salt-2018.3.0-py27
If you want to run everything simply perform:
$ tox
The Salt state creates an architecture that depends on some (already existing) elements. This is the expected setup before running the orchestration:
The salt master is installed in the Admin Dashboard and is reponsible for orchestrating the deployment and controlling all the minions in the cluster, including a local minion that is used for generating the CA certificate.
An etcd instance is also used for bootstrapping the other etcd instances in the cluster. It will be configured from Salt with the number of etcd masters set in the pillar.
After running the orchestration, the architecture will look like this:
Some notes:
- the etcd discovery server is not a member of the etcd cluster: it is only used as a rendezvous for bootstrapping the etcd cluster.
- for the systems that need to talk to etcd, they connect to the local etcd
instance. This local server will be either a full member of the etcd
cluster or an instance that works in
rw
-proxy mode.
This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.