Simon Pasquier | a4e3825 | 2017-04-28 11:14:29 +0200 | [diff] [blame] | 1 | #!/bin/bash -x |
| 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.sls salt |
| 6 | |
| 7 | # Install keepalived |
| 8 | salt -C 'I@keepalived:cluster' state.sls keepalived -b 1 |
| 9 | |
| 10 | # Install haproxy |
| 11 | salt -C 'I@haproxy:proxy' state.sls haproxy |
| 12 | salt -C 'I@haproxy:proxy' service.status haproxy |
| 13 | |
| 14 | # Install docker |
| 15 | salt -C 'I@docker:host' state.sls docker.host |
| 16 | salt -C 'I@docker:host' cmd.run "docker ps" |
| 17 | |
| 18 | # Install etcd |
| 19 | salt -C 'I@etcd:server' state.sls etcd.server.service |
| 20 | salt -C 'I@etcd:server' cmd.run "etcdctl cluster-health" |
| 21 | |
| 22 | # Install Kubernetes and Calico |
| 23 | salt -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons |
| 24 | salt -C 'I@kubernetes:pool' state.sls kubernetes.pool |
| 25 | salt -C 'I@kubernetes:pool' cmd.run "calicoctl node status" |
| 26 | salt -C 'I@kubernetes:pool' cmd.run "calicoctl get ippool" |
| 27 | |
| 28 | # Setup NAT for Calico |
| 29 | salt -C 'I@kubernetes:master' state.sls etcd.server.setup |
| 30 | |
| 31 | # Run whole master to check consistency |
| 32 | salt -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup |
| 33 | |
| 34 | # Register addons |
| 35 | salt -C 'I@kubernetes:master' --subset 1 state.sls kubernetes.master.setup |
| 36 | |
| 37 | # Nginx needs to be configured |
| 38 | salt -C 'I@nginx:server' state.sls nginx |