Tomáš Kukrál | bd9af06 | 2017-05-02 23:16:44 +0200 | [diff] [blame] | 1 | #!/bin/bash -xe |
| 2 | exec > >(tee -i /tmp/"$(basename "$0" .sh)"_"$(date '+%Y-%m-%d_%H-%M-%S')".log) 2>&1 |
| 3 | |
| 4 | # Create and distribute SSL certificates for services using salt state |
| 5 | salt --state-output=terse '*' state.sls salt |
| 6 | |
| 7 | # Install keepalived |
| 8 | salt --state-output=terse -C 'I@keepalived:cluster' state.sls keepalived -b 1 |
| 9 | |
| 10 | # Install haproxy |
| 11 | salt --state-output=terse -C 'I@haproxy:proxy' state.sls haproxy |
| 12 | salt --state-output=terse -C 'I@haproxy:proxy' service.status haproxy |
| 13 | |
| 14 | # Install docker |
| 15 | salt --state-output=terse -C 'I@docker:host' state.sls docker.host |
| 16 | salt --state-output=terse -C 'I@docker:host' cmd.run "docker ps" |
| 17 | |
| 18 | # Install etcd |
| 19 | salt --state-output=terse -C 'I@etcd:server' state.sls etcd.server.service |
| 20 | salt --state-output=terse -C 'I@etcd:server' cmd.run ". /var/lib/etcd/configenv && etcdctl cluster-health" |
| 21 | |
| 22 | # Install Kubernetes and Calico |
| 23 | salt --state-output=terse -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons |
| 24 | salt --state-output=terse -C 'I@kubernetes:pool' state.sls kubernetes.pool |
| 25 | salt --state-output=terse -C 'I@kubernetes:pool' cmd.run "calicoctl node status" |
| 26 | salt --state-output=terse -C 'I@kubernetes:pool' cmd.run "calicoctl get ippool" |
| 27 | |
| 28 | # Setup NAT for Calico |
| 29 | salt --state-output=terse -C 'I@kubernetes:master' --subset 1 state.sls etcd.server.setup |
| 30 | |
| 31 | # Run whole master to check consistency |
| 32 | salt --state-output=terse -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup |
| 33 | |
| 34 | # Register addons |
| 35 | salt --state-output=terse -C 'I@kubernetes:master' --subset 1 state.sls kubernetes.master.setup |