[K8s] Update scripts with etcd and flannel configuration

This patch adds tuning of existing scripts related to
updating etcd binaries from 2.0.13 to 2.2.5

Change-Id: I33eac5abe96449a2a35f7305632b68fd20960f5c
This commit is contained in:
Dmytro Dovbii 2016-06-16 13:15:37 +03:00
parent 793d5e5a48
commit eb701d4869
5 changed files with 80 additions and 18 deletions

View File

@ -1,8 +1,15 @@
description "Etcd service"
author "@jainvipin"
start on (net-device-up
and local-filesystems
and runlevel [2345])
respawn
# set max open files
limit nofile 2048 4096
pre-start script
# see also https://github.com/jainvipin/kubernetes-ubuntu-start
ETCD=/opt/bin/$UPSTART_JOB
@ -24,7 +31,4 @@ script
. /etc/default/$UPSTART_JOB
fi
exec "$ETCD" $ETCD_OPTS
end script
start on runlevel [235]
stop on runlevel [016]
end script

View File

@ -2,15 +2,26 @@
# $1 - NAME
# $2 - IP
count=30
echo "Adding member $1 to etcd cluster" >> /tmp/etcd.log
while [ $count -gt 0 ]; do
out=$(/opt/bin/etcdctl member add "$1" "http://$2:7001")
/opt/bin/etcdctl cluster-health >> /tmp/etcd.log
if [ $? -eq 0 ]; then
out=$((/opt/bin/etcdctl member add "$1" "http://$2:7001") 2>&1)
if [ $? -ne 0 ]; then
echo "Member $1 not added. Reason: $out" >> /tmp/etcd.log
break
fi
echo -e "Member $1 has been added\n" >> /tmp/etcd.log
echo "$out" | grep ETCD_INITIAL_CLUSTER= | cut -f 2 -d '"'
exit 0
fi
echo "Member $1 not added" >> /tmp/etcd.log
((count-- ))
sleep 2
done
cat /tmp/etcd.log
exit 1

View File

@ -15,4 +15,4 @@ cp init_conf/etcd.conf /etc/init/
chmod +x initd_scripts/*
cp initd_scripts/etcd /etc/init.d/
service etcd start
sleep 5
sleep 10

View File

@ -4,18 +4,51 @@
# $2 - IP
# $3 - ETCD_INITIAL_CLUSTER
service etcd stop
mkdir /var/lib/etcd
sed -i.bkp "s/%%NAME%%/$1/g" default_scripts/etcd-member
sed -i.bkp "s/%%IP%%/$2/g" default_scripts/etcd-member
sed -i.bkp "s#%%CLUSTER_CONFIG%%#$3#g" default_scripts/etcd-member
cp -f default_scripts/etcd-member /etc/default/etcd
cp init_conf/etcd.conf /etc/init/
chmod +x initd_scripts/etcd
cp initd_scripts/etcd /etc/init.d/
if [[ $(systemctl) ]]; then
systemctl stop etcd
service etcd start
sed -i.bkp "s/%%NAME%%/$1/g" environ/etcd
sed -i.bkp "s/%%IP%%/$2/g" environ/etcd
sed -i.bkp "s/%%STATE%%/existing/g" environ/etcd
sed -i.bkp "s#%%CLUSTER_CONFIG%%#$3#g" environ/etcd
sleep 30
cp -f environ/etcd /etc/default/
cp -f systemd/etcd.service /etc/systemd/system/
systemctl daemon-reload
systemctl enable etcd
systemctl start etcd
else
service etcd stop
sed -i.bkp "s/%%NAME%%/$1/g" default_scripts/etcd-member
sed -i.bkp "s/%%IP%%/$2/g" default_scripts/etcd-member
sed -i.bkp "s#%%CLUSTER_CONFIG%%#$3#g" default_scripts/etcd-member
cp -f default_scripts/etcd-member /etc/default/etcd
cp init_conf/etcd.conf /etc/init/
chmod +x initd_scripts/etcd
cp initd_scripts/etcd /etc/init.d/
service etcd start
fi
#check if cluster works well after member adding
count=30
echo "Registration member $1 in etcd cluster" >> /tmp/etcd.log
while [ $count -gt 0 ]; do
/opt/bin/etcdctl cluster-health >> tmp/etcd.log
if [ $? -eq 0 ]; then
echo "Member $1 started" >> /tmp/etcd.log
sleep 10
exit 0
fi
((count-- ))
sleep 5
done
echo "Member $1 is not started" >> /tmp/etcd.log
exit 1

View File

@ -1,3 +1,17 @@
#!/bin/bash
count=10
/opt/bin/etcdctl mk /coreos.com/network/config '{"Network":"10.200.0.0/16"}'
echo "Adding flannel configuration to etcd"
command=$((/opt/bin/etcdctl set /coreos.com/network/config '{"Network":"10.200.0.0/16"}') 2>&1)
while [ $count -gt 0 ]; do
if [ $command ]; then
echo "Flannel is configured on master node" >> /tmp/etcd.log
exit 0
fi
echo "Flannel configuration was not added. Reason: $command"
((count-- ))
sleep 5
done
exit 1