-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathkubernetes-hetzner.sh
executable file
·43 lines (32 loc) · 1.05 KB
/
kubernetes-hetzner.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
#!/usr/bin/env bash
SERVER_NAME=starfish-ci-cd-5
SSH_KEY=7170
SERVER_TYPE=cx41
for i in "$@"
do
case ${i} in
-SERVER_NAME=*|--SERVER_NAME=*)
SERVER_NAME="${i#*=}"
;;
-SERVER_TYPE=*|--SERVER_TYPE=*)
SERVER_TYPE="${i#*=}"
;;
-SSH_KEY=*|--SSH_KEY=*)
SSH_KEY="${i#*=}"
;;
esac
done
hcloud server create --name $SERVER_NAME --image ubuntu-16.04 --type $SERVER_TYPE --ssh-key $SSH_KEY
# grep for IP Address
hcloud server list | grep -E $SERVER_NAME | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b"
export JENKINS_IP=$(hcloud server list | grep -E $SERVER_NAME | grep -oE "\b([0-9]{1,3}\.){3}[0-9]{1,3}\b")
echo "waiting 60 seconds for hetzner to release lock on /var/lib/dpkg/lock due to fresh VM creation"
secs=$((60))
while [ $secs -gt 0 ]; do
echo -ne "$secs\033[0K\r"
sleep 1
: $((secs--))
done
ssh -o StrictHostKeyChecking=no root@$JENKINS_IP "bash -s" < kubeadm-install.sh
# Copy the kubernetes configuration from the kubeadm installation
scp -o StrictHostKeyChecking=no root@$JENKINS_IP:/etc/kubernetes/admin.conf $PWD