Add SDC deploy/clean scripts 03/55703/2
authorEddie Arrage <eddie.arrage@huawei.com>
Fri, 13 Apr 2018 19:15:29 +0000 (19:15 +0000)
committerEddie Arrage <eddie.arrage@huawei.com>
Fri, 13 Apr 2018 22:43:38 +0000 (22:43 +0000)
- Added deploy/clean scripts for use in Clover container
- Deployment of entire SDC scenario
- Deployment includes istio install for manual sidecar injection
without TLS authentication (deploy.sh)
- Added Jaeger tracing and Prometheus monitoring install (view.sh)
- Exposes NodePort for monitoring/tracing to access UIs outside
of cluster
- Clean.sh attempts to remove all of the above

Change-Id: Id9548a77d71465a814a6e0cb1cbdf02d37235590
Signed-off-by: Eddie Arrage <eddie.arrage@huawei.com>
samples/scenarios/clean.sh [new file with mode: 0755]
samples/scenarios/deploy.sh [new file with mode: 0755]
samples/scenarios/view.sh [new file with mode: 0755]

diff --git a/samples/scenarios/clean.sh b/samples/scenarios/clean.sh
new file mode 100755 (executable)
index 0000000..bf4a7af
--- /dev/null
@@ -0,0 +1,28 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+CLOVER_BASE_DIR=${CLOVER_BASE_DIR:-"/home/opnfv/repos/clover"}
+ISTIO_BASE_DIR=${ISTIO_BASE_DIR:-"/istio-source"}
+
+cd $CLOVER_BASE_DIR
+
+echo "Deleting Service Delivery Controller sample scenario"
+
+kubectl delete -f ./samples/scenarios/service_delivery_controller_opnfv.yaml
+
+echo "Deleting Istio"
+
+kubectl delete -f $ISTIO_BASE_DIR/install/kubernetes/istio.yaml
+
+echo "Deleting Prometheus monitoring and Jaeger Tracing"
+
+kubectl delete -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
+
+kubectl delete -f $ISTIO_BASE_DIR/install/kubernetes/addons/prometheus.yaml
diff --git a/samples/scenarios/deploy.sh b/samples/scenarios/deploy.sh
new file mode 100755 (executable)
index 0000000..1ffea37
--- /dev/null
@@ -0,0 +1,22 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+CLOVER_BASE_DIR=${CLOVER_BASE_DIR:-"/home/opnfv/repos/clover"}
+ISTIO_BASE_DIR=${ISTIO_BASE_DIR:-"/istio-source"}
+
+cd $CLOVER_BASE_DIR
+
+echo "Deploying Istio manual sidecar injection without TLS authentication"
+
+kubectl apply -f $ISTIO_BASE_DIR/install/kubernetes/istio.yaml
+
+echo "Deploying Service Delivery Controller sample scenario"
+
+kubectl apply -f <(istioctl kube-inject --debug -f ./samples/scenarios/service_delivery_controller_opnfv.yaml)
diff --git a/samples/scenarios/view.sh b/samples/scenarios/view.sh
new file mode 100755 (executable)
index 0000000..8b155ce
--- /dev/null
@@ -0,0 +1,30 @@
+#!/bin/bash
+#
+# Copyright (c) Authors of Clover
+#
+# All rights reserved. This program and the accompanying materials
+# are made available under the terms of the Apache License, Version 2.0
+# which accompanies this distribution, and is available at
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+
+CLOVER_BASE_DIR=${CLOVER_BASE_DIR:-"/home/opnfv/repos/clover"}
+ISTIO_BASE_DIR=${ISTIO_BASE_DIR:-"/istio-source"}
+
+cd $CLOVER_BASE_DIR
+
+echo "Deploying Prometheus monitoring"
+
+kubectl apply -f $ISTIO_BASE_DIR/install/kubernetes/addons/prometheus.yaml
+
+echo "Deploying Jaeger tracing"
+
+kubectl apply -n istio-system -f https://raw.githubusercontent.com/jaegertracing/jaeger-kubernetes/master/all-in-one/jaeger-all-in-one-template.yml
+
+echo "Exposing tracing and monitoring outside of Kubernetes cluster"
+
+kubectl delete -n istio-system svc prometheus
+
+kubectl expose -n istio-system deployment jaeger-deployment --port=16686 --type=NodePort
+
+kubectl expose -n istio-system deployment prometheus --port=9090 --type=NodePort