From eecc28839b7088f6bd6be9538db7ddc1986b369f Mon Sep 17 00:00:00 2001 From: Guo Ruijing Date: Wed, 18 Oct 2017 19:59:55 -0400 Subject: seperate k8s basic installation and ovsdpdk installation Change-Id: I9ba3b52feebb7be6037d88f07f8c861ddbfe9bdf Signed-off-by: Guo Ruijing --- src/vagrant/kubeadm_basic/Vagrantfile | 34 +++++++++++++++++++++++ src/vagrant/kubeadm_basic/examples/nginx-app.sh | 10 +++++++ src/vagrant/kubeadm_basic/examples/nginx-app.yaml | 31 +++++++++++++++++++++ src/vagrant/kubeadm_basic/host_setup.sh | 19 +++++++++++++ src/vagrant/kubeadm_basic/master_setup.sh | 11 ++++++++ src/vagrant/kubeadm_basic/worker_setup.sh | 4 +++ 6 files changed, 109 insertions(+) create mode 100644 src/vagrant/kubeadm_basic/Vagrantfile create mode 100755 src/vagrant/kubeadm_basic/examples/nginx-app.sh create mode 100644 src/vagrant/kubeadm_basic/examples/nginx-app.yaml create mode 100644 src/vagrant/kubeadm_basic/host_setup.sh create mode 100644 src/vagrant/kubeadm_basic/master_setup.sh create mode 100644 src/vagrant/kubeadm_basic/worker_setup.sh (limited to 'src/vagrant/kubeadm_basic') 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 <> $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 -- cgit 1.2.3-korg