blob: 092843d74341451b7569289527016b8922bc5652 [file] [log] [blame]
Tomáš Kukrálbd9af062017-05-02 23:16:44 +02001#!/bin/bash -xe
2exec > >(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
5salt --state-output=terse '*' state.sls salt
6
7# Install keepalived
8salt --state-output=terse -C 'I@keepalived:cluster' state.sls keepalived -b 1
9
10# Install haproxy
11salt --state-output=terse -C 'I@haproxy:proxy' state.sls haproxy
12salt --state-output=terse -C 'I@haproxy:proxy' service.status haproxy
13
14# Install docker
15salt --state-output=terse -C 'I@docker:host' state.sls docker.host
16salt --state-output=terse -C 'I@docker:host' cmd.run "docker ps"
17
18# Install etcd
19salt --state-output=terse -C 'I@etcd:server' state.sls etcd.server.service
20salt --state-output=terse -C 'I@etcd:server' cmd.run ". /var/lib/etcd/configenv && etcdctl cluster-health"
21
22# Install Kubernetes and Calico
23salt --state-output=terse -C 'I@kubernetes:master' state.sls kubernetes.master.kube-addons
24salt --state-output=terse -C 'I@kubernetes:pool' state.sls kubernetes.pool
25salt --state-output=terse -C 'I@kubernetes:pool' cmd.run "calicoctl node status"
26salt --state-output=terse -C 'I@kubernetes:pool' cmd.run "calicoctl get ippool"
27
28# Setup NAT for Calico
29salt --state-output=terse -C 'I@kubernetes:master' --subset 1 state.sls etcd.server.setup
30
31# Run whole master to check consistency
32salt --state-output=terse -C 'I@kubernetes:master' state.sls kubernetes exclude=kubernetes.master.setup
33
34# Register addons
35salt --state-output=terse -C 'I@kubernetes:master' --subset 1 state.sls kubernetes.master.setup