enable kata container with ovn cni 01/58701/3
authorGuo Ruijing <ruijing.guo@intel.com>
Tue, 19 Jun 2018 13:42:22 +0000 (09:42 -0400)
committerGuo Ruijing <ruijing.guo@intel.com>
Fri, 6 Jul 2018 10:15:10 +0000 (06:15 -0400)
Change-Id: I3d79c13fca011af83e5c9109319f8f4cc49b8b85
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
src/vagrant/kubeadm_kata/host_setup.sh
src/vagrant/kubeadm_kata/master_setup.sh
src/vagrant/kubeadm_kata/worker_setup.sh

index d2af951..02bb296 100644 (file)
@@ -30,10 +30,37 @@ cat <<EOF | sudo tee /etc/apt/sources.list.d/kubernetes.list
 deb http://apt.kubernetes.io/ kubernetes-xenial main
 EOF
 sudo apt-get update
-sudo apt-get install -y kubelet kubeadm kubectl kubernetes-cni
+sudo apt-get install -y --allow-unauthenticated kubelet=1.10.5-00 kubeadm=1.10.5-00 kubectl=1.10.5-00 kubernetes-cni=0.6.0-00
+
 
 sudo swapoff -a
 sudo systemctl stop kubelet
 sudo rm -rf /var/lib/kubelet
 sudo systemctl daemon-reload
 sudo systemctl start kubelet
+
+
+sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 5EDB1B62EC4926EA
+sudo apt-get update -y
+sudo apt-get install software-properties-common -y
+sudo apt-add-repository cloud-archive:queens -y
+sudo apt-get update -y
+
+#sudo apt-get build-dep dkms -y
+sudo apt-get install python-six openssl python-pip -y
+sudo -H pip install --upgrade pip
+sudo -H pip install ovs
+#sudo apt-get install openvswitch-datapath-dkms -y
+sudo apt-get install openvswitch-switch openvswitch-common -y
+sudo apt-get install ovn-central ovn-common ovn-host -y
+sudo modprobe vport-geneve
+
+wget https://storage.googleapis.com/golang/go1.8.3.linux-amd64.tar.gz
+sudo tar -xvf go1.8.3.linux-amd64.tar.gz -C /usr/local/
+mkdir -p $HOME/go/src
+export GOPATH=$HOME/go
+export PATH=$PATH:/usr/local/go/bin:$GOPATH/bin
+git clone https://github.com/openvswitch/ovn-kubernetes -b v0.3.0
+cd ovn-kubernetes/go-controller
+make
+sudo make install
index 3f1177e..42b3aee 100644 (file)
 
 set -ex
 
-sudo kubeadm init --skip-preflight-checks --apiserver-advertise-address=192.168.1.10  --service-cidr=10.96.0.0/16 --pod-network-cidr=10.244.0.0/16 --token 8c5adc.1cec8dbf339093f0
+sudo kubeadm init --skip-preflight-checks --apiserver-advertise-address=192.168.1.10  --service-cidr=10.96.0.0/16 --pod-network-cidr=10.32.0.0/12 --token 8c5adc.1cec8dbf339093f0
 mkdir ~/.kube
 sudo cp /etc/kubernetes/admin.conf .kube/config
 sudo chown $(id -u):$(id -g) ~/.kube/config
 
-kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml
+nohup /usr/bin/kubectl proxy --address=0.0.0.0 --accept-hosts=.* --port=8080 & sleep 1
 
-r=0
-while [ "$r" -ne "1" ]
-do
-    sleep 30
-    r=$(kubectl get pods -n kube-system | grep -v Running | wc -l)
-done
+sudo ovnkube -k8s-kubeconfig /home/vagrant/.kube/config -net-controller -loglevel=4 -k8s-apiserver=http://192.168.1.10:8080 -logfile=/var/log/openvswitch/ovnkube.log -init-master=master -cluster-subnet=10.32.0.0/12 -service-cluster-ip-range=10.96.0.0/16 -nodeport -nb-address=tcp://192.168.1.10:6631 -sb-address=tcp://192.168.1.10:6632 &
index b717291..63d42a5 100644 (file)
@@ -19,3 +19,22 @@ set -ex
 sudo kubeadm join --discovery-token-unsafe-skip-ca-verification \
     --token 8c5adc.1cec8dbf339093f0 192.168.1.10:6443 \
     --ignore-preflight-errors=SystemVerification,CRI,FileContent--proc-sys-net-bridge-bridge-nf-call-iptables
+
+sudo apt-get install -y putty-tools
+mkdir ~/.kube
+echo "y\n" | plink -ssh -pw vagrant vagrant@master "cat ~/.kube/config" > ~/.kube/config || true
+
+CENTRAL_IP=192.168.1.10
+NODE_NAME=$(hostname)
+TOKEN="8c5adc.1cec8dbf339093f0"
+
+sudo ovnkube -k8s-kubeconfig /home/vagrant/.kube/config -loglevel=4 \
+    -logfile="/var/log/openvswitch/ovnkube.log" \
+    -k8s-apiserver="http://$CENTRAL_IP:8080" \
+    -init-node="$NODE_NAME"  \
+    -nodeport \
+    -nb-address="tcp://$CENTRAL_IP:6631" \
+    -sb-address="tcp://$CENTRAL_IP:6632" -k8s-token="$TOKEN" \
+    -init-gateways \
+    -service-cluster-ip-range=10.96.0.0/16 \
+    -cluster-subnet=10.32.0.0/12 &