add tasks to install k8s tools
[oom.git] / TOSCA / kubernetes-cluster-TOSCA / scripts / k8s_tools.sh
diff --git a/TOSCA/kubernetes-cluster-TOSCA/scripts/k8s_tools.sh b/TOSCA/kubernetes-cluster-TOSCA/scripts/k8s_tools.sh
new file mode 100644 (file)
index 0000000..2eee89e
--- /dev/null
@@ -0,0 +1,60 @@
+#!/bin/sh
+
+# ============LICENSE_START==========================================
+# ===================================================================
+# Copyright (c) 2017 AT&T
+#
+# 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.
+#============LICENSE_END============================================
+
+# this script will install dashboard on k8s master.
+
+#install heapster
+git clone -b release-1.5 https://github.com/kubernetes/heapster.git
+
+kubectl create -f heapster/deploy/kube-config/influxdb/
+kubectl create -f heapster/deploy/kube-config/rbac/heapster-rbac.yaml
+
+#install dashboard
+kubectl  apply -f https://raw.githubusercontent.com/kubernetes/dashboard/master/src/deploy/alternative/kubernetes-dashboard.yaml
+
+##Change spec.type from ClusterIP to NodePort  and save.
+kubectl get svc kubernetes-dashboard --namespace=kube-system -o yaml | sed 's/type: ClusterIP/type: NodePort/' | kubectl replace -f -
+
+cat <<EOF >>dashboard-admin.yaml
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+  name: kubernetes-dashboard
+  labels:
+    k8s-app: kubernetes-dashboard
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: cluster-admin
+subjects:
+- kind: ServiceAccount
+  name: kubernetes-dashboard
+  namespace: kube-system
+EOF
+
+kubectl create -f dashboard-admin.yaml
+
+#install helm
+wget http://storage.googleapis.com/kubernetes-helm/helm-$1-linux-amd64.tar.gz
+tar -zxvf helm-$1-linux-amd64.tar.gz
+sudo mv linux-amd64/helm /usr/bin/helm
+
+kubectl -n kube-system create sa tiller
+kubectl create clusterrolebinding tiller --clusterrole cluster-admin --serviceaccount=kube-system:tiller
+helm init --service-account tiller
\ No newline at end of file