diff options
author | Guo Ruijing <ruijing.guo@intel.com> | 2018-11-19 18:16:26 +0800 |
---|---|---|
committer | Guo Ruijing <ruijing.guo@intel.com> | 2018-11-20 00:27:30 +0800 |
commit | 0737feb0aa28486cf18e57bb31fc4f0e08d6c04e (patch) | |
tree | 1797bb9afd15283f713c6c61f45ea0bae2548106 /src/vagrant/kubeadm_istio | |
parent | 014071321976a76e6f8fdc8588cbe51be9ea0967 (diff) |
enable multus & istio
Change-Id: Ib43fa8d4b1494e0b48e295941af223647c161f92
Signed-off-by: Guo Ruijing <ruijing.guo@intel.com>
Diffstat (limited to 'src/vagrant/kubeadm_istio')
-rw-r--r-- | src/vagrant/kubeadm_istio/Vagrantfile | 29 | ||||
-rwxr-xr-x | src/vagrant/kubeadm_istio/deploy.sh | 12 | ||||
-rw-r--r-- | src/vagrant/kubeadm_istio/host_setup.sh | 29 | ||||
-rwxr-xr-x | src/vagrant/kubeadm_istio/istio/bookinfo.sh | 44 | ||||
-rwxr-xr-x | src/vagrant/kubeadm_istio/istio/clean_bookinfo.sh | 29 | ||||
-rwxr-xr-x | src/vagrant/kubeadm_istio/istio/deploy.sh | 58 | ||||
-rw-r--r-- | src/vagrant/kubeadm_istio/master_setup.sh | 33 | ||||
-rw-r--r-- | src/vagrant/kubeadm_istio/worker_setup.sh | 4 |
8 files changed, 0 insertions, 238 deletions
diff --git a/src/vagrant/kubeadm_istio/Vagrantfile b/src/vagrant/kubeadm_istio/Vagrantfile deleted file mode 100644 index 9320074..0000000 --- a/src/vagrant/kubeadm_istio/Vagrantfile +++ /dev/null @@ -1,29 +0,0 @@ -$num_workers=2 - -Vagrant.require_version ">= 1.8.6" -Vagrant.configure("2") do |config| - - config.vm.box = "ceph/ubuntu-xenial" - config.vm.provider :libvirt do |libvirt| - libvirt.memory = 4096 - libvirt.cpus = 4 - end - - config.vm.synced_folder "../..", "/src" - config.vm.provision "shell", path: "host_setup.sh", privileged: false - - 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" - 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}" - end - end - -end diff --git a/src/vagrant/kubeadm_istio/deploy.sh b/src/vagrant/kubeadm_istio/deploy.sh deleted file mode 100755 index d947645..0000000 --- a/src/vagrant/kubeadm_istio/deploy.sh +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/bash - -set -ex -DIR="$(dirname `readlink -f $0`)" - -cd $DIR -../cleanup.sh -vagrant up -vagrant ssh master -c "/vagrant/istio/deploy.sh" -vagrant ssh master -c "/vagrant/istio/bookinfo.sh" -vagrant ssh master -c "/vagrant/istio/clean_bookinfo.sh" - diff --git a/src/vagrant/kubeadm_istio/host_setup.sh b/src/vagrant/kubeadm_istio/host_setup.sh deleted file mode 100644 index 524a967..0000000 --- a/src/vagrant/kubeadm_istio/host_setup.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/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 - -sudo apt-key adv --keyserver hkp://ha.pool.sks-keyservers.net:80 --recv-keys 58118E89F3A912897C070ADBF76221572C52609D -sudo apt-key adv -k 58118E89F3A912897C070ADBF76221572C52609D -cat << EOF | sudo tee /etc/apt/sources.list.d/docker.list -deb [arch=amd64] https://apt.dockerproject.org/repo ubuntu-xenial main -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 --allow-unauthenticated --allow-downgrades docker-engine=1.12.6-0~ubuntu-xenial kubelet=1.9.1-00 kubeadm=1.9.1-00 kubectl=1.9.1-00 kubernetes-cni=0.6.0-00 - -sudo swapoff -a -sudo systemctl daemon-reload -sudo systemctl stop kubelet -sudo systemctl start kubelet diff --git a/src/vagrant/kubeadm_istio/istio/bookinfo.sh b/src/vagrant/kubeadm_istio/istio/bookinfo.sh deleted file mode 100755 index c4eef11..0000000 --- a/src/vagrant/kubeadm_istio/istio/bookinfo.sh +++ /dev/null @@ -1,44 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2018 Huawei Technologies Canada Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -set -ex - -cd /vagrant/istio-source/ -export PATH=$PWD/bin:$PATH - -# Run the test application: bookinfo -kubectl apply -f <(istioctl kube-inject -f samples/bookinfo/platform/kube/bookinfo.yaml) - -# Define the ingress gateway for the application -kubectl apply -f samples/bookinfo/networking/bookinfo-gateway.yaml - -# Wait for bookinfo deployed -kubectl get services -kubectl get pods - -r="0" -while [ $r -ne "6" ] -do - sleep 30 - kubectl get pods - r=$(kubectl get pods | grep Running | wc -l) -done - -# Validate the bookinfo app -export GATEWAY_URL=$(kubectl get po -l istio=ingressgateway -n istio-system -o 'jsonpath={.items[0].status.hostIP}'):$(kubectl get svc istio-ingressgateway -n istio-system -o 'jsonpath={.spec.ports[0].nodePort}') -curl -o /dev/null -s -w "%{http_code}\n" http://${GATEWAY_URL}/productpage - diff --git a/src/vagrant/kubeadm_istio/istio/clean_bookinfo.sh b/src/vagrant/kubeadm_istio/istio/clean_bookinfo.sh deleted file mode 100755 index 7c539c0..0000000 --- a/src/vagrant/kubeadm_istio/istio/clean_bookinfo.sh +++ /dev/null @@ -1,29 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2018 Huawei Technologies Canada Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -set -ex - -cd /vagrant/istio-source/ -export PATH=$PWD/bin:$PATH - -# Clean up bookinfo -echo "" | samples/bookinfo/platform/kube/cleanup.sh - -kubectl get virtualservices -kubectl get destinationrules -kubectl get gateway -kubectl get pods diff --git a/src/vagrant/kubeadm_istio/istio/deploy.sh b/src/vagrant/kubeadm_istio/istio/deploy.sh deleted file mode 100755 index 4217807..0000000 --- a/src/vagrant/kubeadm_istio/istio/deploy.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/bin/bash -# -# Copyright (c) 2018 Huawei Technologies Canada Co., Ltd. -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. -# - -set -ex - -# Get latest istio version, refer: https://git.io/getLatestIstio -if [ "x${ISTIO_VERSION}" = "x" ] ; then - ISTIO_VERSION=$(curl -L -s https://api.github.com/repos/istio/istio/releases/latest | \ - grep tag_name | sed "s/ *\"tag_name\": *\"\(.*\)\",*/\1/") -fi - -ISTIO_DIR_NAME="istio-$ISTIO_VERSION" - -cd /vagrant -curl -L https://git.io/getLatestIstio | sh - -mv $ISTIO_DIR_NAME istio-source -cd /vagrant/istio-source/ - -# Persistently append istioctl bin path to PATH env -echo 'export PATH="$PATH:/vagrant/istio-source/bin"' >> ~/.bashrc -echo "source <(kubectl completion bash)" >> ~/.bashrc -source ~/.bashrc - -# Install Istio’s Custom Resource Definitions first -kubectl apply -f install/kubernetes/helm/istio/templates/crds.yaml - -# Wait 30s for Kubernetes to register the Istio CRDs -sleep 30 - -kubectl apply -f install/kubernetes/istio-demo.yaml - -# Validate the installation -kubectl get svc -n istio-system -kubectl get pods -n istio-system -kubectl get namespace -L istio-injection - -r="1" -while [ $r -ne "0" ] -do - sleep 30 - kubectl get pods -n istio-system - r=$(kubectl get pods -n istio-system | egrep -v 'NAME|Running' | wc -l) -done - diff --git a/src/vagrant/kubeadm_istio/master_setup.sh b/src/vagrant/kubeadm_istio/master_setup.sh deleted file mode 100644 index f308244..0000000 --- a/src/vagrant/kubeadm_istio/master_setup.sh +++ /dev/null @@ -1,33 +0,0 @@ -#!/bin/bash - -set -ex - -ADMISSION_CONTROL="Initializers,NamespaceLifecycle,LimitRanger,ServiceAccount,DefaultStorageClass,DefaultTolerationSeconds,MutatingAdmissionWebhook,ValidatingAdmissionWebhook,NodeRestriction,ResourceQuota" -KUBE_APISERVER_CONF="/etc/kubernetes/manifests/kube-apiserver.yaml" - -sudo kubeadm init --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 $HOME/.kube/config -sudo chown $(id -u):$(id -g) $HOME/.kube/config - -kubectl apply -f http://git.io/weave-kube-1.6 - -# Enable mutating webhook admission controller -# kube-apiserver will be automatically restarted by kubelet when its manifest file update. -# https://istio.io/docs/setup/kubernetes/sidecar-injection.html -sudo sed -i "s/admission-control=.*/admission-control=$ADMISSION_CONTROL/g" $KUBE_APISERVER_CONF - -set +e -# wait for kube-apiserver restart -r="1" -while [ $r -ne "0" ] -do - sleep 2 - kubectl version > /dev/null - r=$? -done -set -e - -# check if admissionregistration.k8s.io/v1beta1 API is enabled -kubectl api-versions | grep admissionregistration - diff --git a/src/vagrant/kubeadm_istio/worker_setup.sh b/src/vagrant/kubeadm_istio/worker_setup.sh deleted file mode 100644 index 74e4178..0000000 --- a/src/vagrant/kubeadm_istio/worker_setup.sh +++ /dev/null @@ -1,4 +0,0 @@ -#!/bin/bash - -set -ex -sudo kubeadm join --discovery-token-unsafe-skip-ca-verification --token 8c5adc.1cec8dbf339093f0 192.168.1.10:6443 || true |