-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathk8sjoin.sh
63 lines (43 loc) · 1.42 KB
/
k8sjoin.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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
#!/bin/bash
#
# Kubernetes Join Worker
#
SERVER_IP=$(sudo cat /var/lib/cloud/instance/datasource | cut -d: -f3 | cut -d/ -f3)
MASTER=$(hostname | cut -d- -f 3,4)
# Master vorhanden?
if [ "${SERVER_IP}" != "" ] && [ "${MASTER}" != "" ]
then
# Master statt Worker Node mounten
sudo umount /home/ubuntu/data
sudo mount -t nfs ${SERVER_IP}:/data/storage/${MASTER} /home/ubuntu/data/
sudo sed -i -e "s/$(hostname)/${MASTER}/g" /etc/fstab
# Password und ssh-key wie Master
sudo chpasswd <<<ubuntu:$(cat /home/ubuntu/data/.ssh/passwd)
cat /home/ubuntu/data/.ssh/id_rsa.pub >>/home/ubuntu/.ssh/authorized_keys
# loop bis Master bereit, Timeout zwei Minuten
for i in {1..60}
do
if [ -f /home/ubuntu/data/join-${MASTER}.sh ]
then
sudo bash -x /home/ubuntu/data/join-${MASTER}.sh
break
fi
sleep 2
done
fi
## Hinweis wie joinen, falls nicht geklappt
if [ -f /etc/kubernetes/kubelet.conf ]
then
cat <<%EOF% | sudo tee README.md
### Kubernetes Worker Node
Worker Node von Kubernetes ${MASTER} Master
%EOF%
else
cat <<%EOF% | sudo tee README.md
### Kubernetes Worker Node
Um die Worker Node mit dem Master zu verbinden, ist auf dem Master folgender Befehl zu starten:
sudo kubeadm token create --print-join-command
Dieser gibt den Befehl aus, der auf jedem Worker Node zu starten ist.
%EOF%
fi
bash -x helper/intro