kubernetes/cluster/ubuntu/reconfDocker.sh
Mike Spreitzer 5b4696407d Added option to specify the flannel backend, to cluster/ubuntu
Generalized the cluster/ubuntu scripting so that there is a way to
specify the Flannel "backend" to use.

Also updated the default setting of ADMISSION_CONTROL, to match that
recommended for the latest release in
http://kubernetes.io/docs/admin/admission-controllers/#is-there-a-recommended-set-of-plug-ins-to-use,
and updated the comment on that setting to explain it.
2016-10-15 00:40:22 -04:00

82 lines
2.1 KiB
Bash
Executable File

#!/bin/bash
# Copyright 2015 The Kubernetes Authors.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
# http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
# reconfigure docker network setting
source "$HOME/kube/${KUBE_CONFIG_FILE##*/}"
if [[ -n "$DEBUG" ]] && [[ "$DEBUG" != false ]] && [[ "$DEBUG" != FALSE ]]; then
set -x
fi
if [[ "$(id -u)" != "0" ]]; then
echo >&2 "Please run as root"
exit 1
fi
function config_etcd {
attempt=0
while true; do
/opt/bin/etcdctl get /coreos.com/network/config
if [[ "$?" == 0 ]]; then
break
else
# enough timeout??
if (( attempt > 600 )); then
echo "timeout waiting for /coreos.com/network/config" >> ~/kube/err.log
exit 2
fi
/opt/bin/etcdctl mk /coreos.com/network/config "{\"Network\":\"${FLANNEL_NET}\", \"Backend\": ${FLANNEL_BACKEND:-"{\"Type\": \"vxlan\"}"}${FLANNEL_OTHER_NET_CONFIG}}"
attempt=$((attempt+1))
sleep 3
fi
done
}
function restart_docker {
attempt=0
while [[ ! -f /run/flannel/subnet.env ]]; do
if (( attempt > 200 )); then
echo "timeout waiting for /run/flannel/subnet.env" >> ~/kube/err.log
exit 2
fi
attempt=$((attempt+1))
sleep 3
done
sudo ip link set dev docker0 down
sudo brctl delbr docker0
source /run/flannel/subnet.env
source /etc/default/docker
echo DOCKER_OPTS=\" -H tcp://127.0.0.1:4243 -H unix:///var/run/docker.sock \
--bip=${FLANNEL_SUBNET} --mtu=${FLANNEL_MTU}\" > /etc/default/docker
sudo service docker restart
}
if [[ $1 == "i" ]]; then
restart_docker
elif [[ $1 == "ai" ]]; then
config_etcd
restart_docker
elif [[ $1 == "a" ]]; then
config_etcd
else
echo "Another argument is required."
exit 1
fi