A collection of salt states used to provision a kubernetes cluster

README.md

Description

A collection of Salt states used to provision a kubernetes cluster in the context of CaaSP/MicroOS.

Running Tests

Style Checks:

Install tox, and run the style checks:

zypper in python-tox
tox -e flake8

Salt states and CaaSP architecture

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.

License

This project is licensed under the Apache License, Version 2.0. See LICENSE for the full license text.