From b1f36deedc0b97d4e7538c7c43072615f40178ff Mon Sep 17 00:00:00 2001 From: Mariusz Date: Fri, 7 Dec 2018 11:07:36 +0000 Subject: [PATCH] Add Ubuntu version of heat-config-kubelet Adds Ubuntu-compatible version of heat-config-kubelet. Change-Id: Ideb9d57e7ab719e4f45cd5bc8cd92056ad478a64 --- .../install.d/50-heat-config-kubelet | 74 ++++++++++++++++++- 1 file changed, 72 insertions(+), 2 deletions(-) diff --git a/heat-config-kubelet/install.d/50-heat-config-kubelet b/heat-config-kubelet/install.d/50-heat-config-kubelet index 06bf0fa..8edeaa4 100755 --- a/heat-config-kubelet/install.d/50-heat-config-kubelet +++ b/heat-config-kubelet/install.d/50-heat-config-kubelet @@ -73,10 +73,80 @@ EOF systemctl enable heat-config-kubelet-nat-rule.service systemctl disable firewalld -SCRIPTDIR=$(dirname $0) -install -D -g root -o root -m 0755 ${SCRIPTDIR}/hook-kubelet.py /var/lib/heat-config/hooks/kubelet +elif [[ "ubuntu" =~ "$DISTRO_NAME" ]]; then + apt-get update + apt-get install -y apt-transport-https gnupg + curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add + cat << EOF > /etc/apt/sources.list.d/kubernetes.list +deb http://apt.kubernetes.io/ kubernetes-$(lsb_release -cs) main +EOF + apt-get update + apt-get install -y kubelet kubeadm kubectl kubernetes-cni bridge-utils docker.io + + cat << EOF > /etc/network/interfaces.d/cbr0.cfg +auto cbr0 +iface cbr0 inet static +bridge_ports none +bridge_stp on +bridge_waitport 2 +bridge_fd 2 +address 10.240.1.1 +netmask 255.255.255.0 +mtu 1450 +post-up /bin/ip route add 10.240.0.0/16 dev cbr0 scope link src 10.240.1.1 +EOF + +# defer docker starting until cbr0 is up +cat > /etc/systemd/system/docker.service < /etc/systemd/system/heat-config-kubelet-nat-rule.service < /etc/systemd/system/heat-config-kubelet-load-images.service < /etc/docker/daemon.json +{ "bridge": "cbr0", "mtu": 1450, "iptables": false, "insecure-registries": ["192.168.20.112:5001"] } +EOF + + sed -e 's|KUBELET_EXTRA_ARGS=|KUBELET_EXTRA_ARGS="--config=/var/lib/heat-config/heat-config-kubelet/kubelet-manifests"|g' -i /etc/default/kubelet + systemctl disable docker.service + systemctl enable docker.service + systemctl enable kubelet.service + systemctl enable heat-config-kubelet-nat-rule.service else echo "Distribution '$DISTRO_NAME' is not supported" exit 1 fi + +SCRIPTDIR=$(dirname $0) +install -D -g root -o root -m 0755 ${SCRIPTDIR}/hook-kubelet.py /var/lib/heat-config/hooks/kubelet