diff options
author | Guo Ruijing <ruijing.guo@intel.com> | 2017-10-18 19:59:55 -0400 |
---|---|---|
committer | Guo Ruijing <ruijing.guo@intel.com> | 2017-10-18 21:39:52 -0400 |
commit | eecc28839b7088f6bd6be9538db7ddc1986b369f (patch) | |
tree | 54294a98be0d406907a3928a1d72b449bd7990e9 /src/vagrant/kubeadm_basic | |
parent | e5476e92b95b4cca079381ceac7e3a7b147c38a2 (diff) |
seperate k8s basic installation and ovsdpdk installation
Change-Id: I9ba3b52feebb7be6037d88f07f8c861ddbfe9bdf
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Diffstat (limited to 'src/vagrant/kubeadm_basic')
-rw-r--r-- | src/vagrant/kubeadm_basic/Vagrantfile | 34 | ||||
-rwxr-xr-x | src/vagrant/kubeadm_basic/examples/nginx-app.sh | 10 | ||||
-rw-r--r-- | src/vagrant/kubeadm_basic/examples/nginx-app.yaml | 31 | ||||
-rw-r--r-- | src/vagrant/kubeadm_basic/host_setup.sh | 19 | ||||
-rw-r--r-- | src/vagrant/kubeadm_basic/master_setup.sh | 11 | ||||
-rw-r--r-- | src/vagrant/kubeadm_basic/worker_setup.sh | 4 |
6 files changed, 109 insertions, 0 deletions
diff --git a/src/vagrant/kubeadm_basic/Vagrantfile b/src/vagrant/kubeadm_basic/Vagrantfile new file mode 100644 index 0000000..f1e7aac --- /dev/null +++ b/src/vagrant/kubeadm_basic/Vagrantfile @@ -0,0 +1,34 @@ +$num_workers=3 + +Vagrant.require_version ">= 1.8.6" +Vagrant.configure("2") do |config| + + config.vm.box = "bento/ubuntu-16.04" + config.vm.synced_folder "../..", "/src" + config.vm.provision "shell", path: "host_setup.sh", privileged: false + config.vm.provider :virtualbox do |vb| + vb.customize ["modifyvm", :id, "--memory", 4096] + vb.customize ["modifyvm", :id, "--cpus", 4] + vb.customize ["modifyvm", :id, "--nicpromisc3", "allow-all"] + vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.1", "1"] + vb.customize ["setextradata", :id, "VBoxInternal/CPUM/SSE4.2", "1"] + vb.customize "post-boot",["controlvm", :id, "setlinkstate1", "on"] + end + + config.vm.define "master" do |config| + config.vm.hostname = "master" + config.vm.provision "shell", path: "master_setup.sh", privileged: false + config.vm.network :private_network, ip: "192.168.1.10" + config.vm.network :private_network, ip: "10.244.0.10" + end + + (1 .. $num_workers).each do |i| + config.vm.define vm_name = "worker%d" % [i] do |config| + config.vm.hostname = vm_name + config.vm.provision "shell", path: "worker_setup.sh", privileged: false + config.vm.network :private_network, ip: "192.168.1.#{i+20}" + config.vm.network :private_network, ip: "10.244.0.#{i+20}" + end + end + +end diff --git a/src/vagrant/kubeadm_basic/examples/nginx-app.sh b/src/vagrant/kubeadm_basic/examples/nginx-app.sh new file mode 100755 index 0000000..bfd0613 --- /dev/null +++ b/src/vagrant/kubeadm_basic/examples/nginx-app.sh @@ -0,0 +1,10 @@ +#!/usr/bin/env bash + +kubectl create -f /vagrant/examples/nginx-app.yaml +kubectl get nodes +kubectl get services +kubectl get pods +kubectl get rc +sleep 120 +svcip=$(kubectl get services nginx -o json | grep clusterIP | cut -f4 -d'"') +wget http://$svcip diff --git a/src/vagrant/kubeadm_basic/examples/nginx-app.yaml b/src/vagrant/kubeadm_basic/examples/nginx-app.yaml new file mode 100644 index 0000000..f80881a --- /dev/null +++ b/src/vagrant/kubeadm_basic/examples/nginx-app.yaml @@ -0,0 +1,31 @@ +apiVersion: v1 +kind: Service +metadata: + name: nginx + labels: + app: nginx +spec: + type: NodePort + ports: + - port: 80 + protocol: TCP + name: http + selector: + app: nginx +--- +apiVersion: v1 +kind: ReplicationController +metadata: + name: nginx +spec: + replicas: 2 + template: + metadata: + labels: + app: nginx + spec: + containers: + - name: nginx + image: nginx + ports: + - containerPort: 80 diff --git a/src/vagrant/kubeadm_basic/host_setup.sh b/src/vagrant/kubeadm_basic/host_setup.sh new file mode 100644 index 0000000..990df7f --- /dev/null +++ b/src/vagrant/kubeadm_basic/host_setup.sh @@ -0,0 +1,19 @@ +#!/bin/bash + +set -ex + +cat << EOF | sudo tee /etc/hosts +127.0.0.1 localhost +192.168.1.10 master +192.168.1.21 worker1 +192.168.1.22 worker2 +192.168.1.23 worker3 +EOF + +curl -s http://packages.cloud.google.com/apt/doc/apt-key.gpg | sudo apt-key add - +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 docker.io +sudo apt-get install -y --allow-downgrades kubelet=1.7.0-00 kubeadm=1.7.0-00 kubectl=1.7.0-00 kubernetes-cni=0.5.1-00 diff --git a/src/vagrant/kubeadm_basic/master_setup.sh b/src/vagrant/kubeadm_basic/master_setup.sh new file mode 100644 index 0000000..34c5923 --- /dev/null +++ b/src/vagrant/kubeadm_basic/master_setup.sh @@ -0,0 +1,11 @@ +#!/bin/bash + +sudo kubeadm init --apiserver-advertise-address 192.168.1.10 --service-cidr=192.168.1.0/24 --pod-network-cidr=10.244.0.0/16 --token 8c5adc.1cec8dbf339093f0 +sudo cp /etc/kubernetes/admin.conf $HOME/ +sudo chown $(id -u):$(id -g) $HOME/admin.conf +export KUBECONFIG=$HOME/admin.conf +echo "export KUBECONFIG=$HOME/admin.conf" >> $HOME/.bash_profile + +kubectl apply -f http://git.io/weave-kube-1.6 +#kubectl apply -f http://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml +#kubectl apply -f http://docs.projectcalico.org/v2.1/getting-started/kubernetes/installation/hosted/kubeadm/1.6/calico.yaml diff --git a/src/vagrant/kubeadm_basic/worker_setup.sh b/src/vagrant/kubeadm_basic/worker_setup.sh new file mode 100644 index 0000000..b68d800 --- /dev/null +++ b/src/vagrant/kubeadm_basic/worker_setup.sh @@ -0,0 +1,4 @@ +#!/bin/bash + +set -ex +sudo kubeadm join --token 8c5adc.1cec8dbf339093f0 192.168.1.10:6443 || true |