Merge "[ci] Add PDF/IDF config files for 2 virtual PODs"
[iec.git] / src / foundation / scripts / k8s_common.sh
index 9a44834..0e9de86 100755 (executable)
@@ -2,6 +2,7 @@
 
 DOCKER_VERSION=18.06.1~ce~3-0~ubuntu
 KUBE_VERSION=1.13.0-00
+K8S_CNI_VERSION=0.6.0-00
 
 # Install Docker as Prerequisite
 curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
@@ -25,9 +26,15 @@ cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
 deb https://apt.kubernetes.io/ kubernetes-xenial main
 EOF
 sudo apt update
+# Minor fix for broken kubernetes-cni dependency in upstream xenial repo
 sudo apt install -y \
-  kubelet=${KUBE_VERSION} kubeadm=${KUBE_VERSION} kubectl=${KUBE_VERSION}
-sudo apt-mark hold kubelet kubeadm kubectl
+  kubernetes-cni=${K8S_CNI_VERSION} kubelet=${KUBE_VERSION} kubeadm=${KUBE_VERSION} kubectl=${KUBE_VERSION}
+sudo apt-mark hold kubernetes-cni kubelet kubeadm kubectl
+
+#Add extra flags to Kubelet
+if ! grep -q -e 'fail-swap-on' /etc/default/kubelet; then
+   sudo sed 's/KUBELET_EXTRA_ARGS=/KUBELET_EXTRA_ARGS=--fail-swap-on=false --feature-gates HugePages=false/' -i /etc/default/kubelet
+fi
 
 _conf='/etc/sysctl.d/99-akraino-iec.conf'
 echo 'net.bridge.bridge-nf-call-iptables = 1' |& sudo tee "${_conf}"