diff options
Diffstat (limited to 'src/arm/kubernetes_basic')
-rwxr-xr-x | src/arm/kubernetes_basic/examples/nginx-app.sh | 42 | ||||
-rw-r--r-- | src/arm/kubernetes_basic/examples/nginx-app.yaml | 31 | ||||
-rwxr-xr-x | src/arm/kubernetes_basic/k8s-build.sh | 31 | ||||
-rwxr-xr-x | src/arm/kubernetes_basic/k8s-deploy.sh | 34 | ||||
-rwxr-xr-x | src/arm/kubernetes_basic/setup.sh | 7 |
5 files changed, 145 insertions, 0 deletions
diff --git a/src/arm/kubernetes_basic/examples/nginx-app.sh b/src/arm/kubernetes_basic/examples/nginx-app.sh new file mode 100755 index 0000000..18aaf93 --- /dev/null +++ b/src/arm/kubernetes_basic/examples/nginx-app.sh @@ -0,0 +1,42 @@ +#!/bin/bash +# +# Copyright (c) 2017 arm Corporation +# +# 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. +# + +#Ref: src/vagrant/kubeadm_basic/examples/nginx-app.sh +#Revised a little + +set -ex + +kubectl create -f ./examples/nginx-app.yaml +kubectl get nodes +kubectl get services +kubectl get pods +kubectl get rc + +r="0" +while [ $r -ne "2" ] +do + r=$(kubectl get pods | grep Running | wc -l) + sleep 60 +done + +svcip=$(kubectl get services nginx -o json | grep clusterIP | cut -f4 -d'"') +sleep 10 +wget http://$svcip +kubectl delete -f ./examples/nginx-app.yaml +kubectl get rc +kubectl get pods +kubectl get services diff --git a/src/arm/kubernetes_basic/examples/nginx-app.yaml b/src/arm/kubernetes_basic/examples/nginx-app.yaml new file mode 100644 index 0000000..9b3c54b --- /dev/null +++ b/src/arm/kubernetes_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: arm64v8/nginx:stable + ports: + - containerPort: 80 diff --git a/src/arm/kubernetes_basic/k8s-build.sh b/src/arm/kubernetes_basic/k8s-build.sh new file mode 100755 index 0000000..832a120 --- /dev/null +++ b/src/arm/kubernetes_basic/k8s-build.sh @@ -0,0 +1,31 @@ +#!/bin/bash +set -e + +sudo apt-get install -y docker.io libvirt-bin virt-manager qemu qemu-efi + +WORKSPACE=`pwd` +if [ ! -d "$WORKSPACE/compass4nfv" ]; then + git clone https://gerrit.opnfv.org/gerrit/compass4nfv +fi + +cd compass4nfv + +WORKSPACE=`pwd` + +COMPASS_WORK_DIR=$WORKSPACE/../compass-work +mkdir -p $COMPASS_WORK_DIR +if [ ! -d "$WORKSPACE/work" ]; then + ln -s $COMPASS_WORK_DIR work +fi + +#TODO: remove workaround after patches merged +if [ ! -f "$WORKSPACE/patched" ]; then + + git checkout a360411cb8c775dffa24a4157cec2b566cbde6f3 + curl http://people.linaro.org/~yibo.cai/compass/0001-deploy-cobbler-drop-tcp_tw_recycle-in-sysctl.conf.patch | git apply || true + curl http://people.linaro.org/~yibo.cai/compass/0002-docker-compose-support-aarch64.patch | git apply || true + touch "$WORKSPACE/patched" +fi + +# build tarball +COMPASS_ISO_REPO='http://people.linaro.org/~yibo.cai/compass' ./build.sh diff --git a/src/arm/kubernetes_basic/k8s-deploy.sh b/src/arm/kubernetes_basic/k8s-deploy.sh new file mode 100755 index 0000000..3b8f6f3 --- /dev/null +++ b/src/arm/kubernetes_basic/k8s-deploy.sh @@ -0,0 +1,34 @@ +#!/bin/bash +set -e + +#sudo apt-get install -y docker.io libvirt-bin virt-manager qemu qemu-efi + +dir=`pwd` +echo "Current dir: "$dir +curdir=${dir##*/} +result=$(echo $curdir | grep "compass4nfv") +if [[ "$result" == "" ]] +then + cd compass4nfv +fi + + +#export CONTAINER4NFV_SCENARIO={scenario} + +export ADAPTER_OS_PATTERN='(?i)CentOS-7.*arm.*' +export OS_VERSION="centos7" +export KUBERNETES_VERSION="v1.7.3" +export DHA="deploy/conf/vm_environment/k8-nosdn-nofeature-noha.yml" +export NETWORK="deploy/conf/vm_environment/network.yml" +export VIRT_NUMBER=2 VIRT_CPUS=2 VIRT_MEM=4096 VIRT_DISK=50G + +./deploy.sh + +set -ex + +# basic test: ssh to master, check k8s node status +sshpass -p root ssh root@10.1.0.50 kubectl get nodes 2>/dev/null | grep -i ready + +# Copy examples to master, run the example of nginx +sshpass -p root scp -r ./examples root@10.1.0.50:~ +sshpass -p root ssh root@10.1.0.50 ~/examples/nginx-app.sh diff --git a/src/arm/kubernetes_basic/setup.sh b/src/arm/kubernetes_basic/setup.sh new file mode 100755 index 0000000..b33e990 --- /dev/null +++ b/src/arm/kubernetes_basic/setup.sh @@ -0,0 +1,7 @@ +#!/bin/bash + +./k8s-build.sh + +sleep 2 + +./k8s-deploy.sh |