Extend K8S and RIC installation instructions
[it/dep.git] / ric-infra / 00-Kubernetes / heat / scripts / k8s_vm_aux_install.sh
1 # this script installs AUX infrastructure components
2
3 # continue only on AUX cluster
4 CINDER_V_ID=$(cat /opt/config/cinder_volume_id.txt)
5 cat <<EOF > ./cinder_pv.yaml
6 apiVersion: "v1"
7 kind: "PersistentVolume"
8 metadata:
9   name: "cinder-pv"
10 spec:
11   capacity:
12     storage: "5Gi"
13   accessModes:
14     - "ReadWriteOnce"
15   cinder:
16     fsType: "ext3"
17     volumeID: "$CINDER_V_ID"
18 EOF
19 kubectl create -f ./cinder_pv.yaml
20
21
22 # install fluentd
23 LOGGING_NS="logging"
24 kubectl create namespace "${LOGGING_NS}"
25 while ! helm repo add incubator "https://kubernetes-charts-incubator.storage.googleapis.com/"; do
26   sleep 10
27 done
28 helm repo update
29 helm install incubator/elasticsearch \
30    --namespace "${LOGGING_NS}" \
31    --name elasticsearch \
32    --set image.tag=6.7.0 \
33    --set data.terminationGracePeriodSeconds=0 \
34    --set master.persistence.enabled=false \
35    --set data.persistence.enabled=false
36 helm install stable/fluentd-elasticsearch \
37    --name fluentd \
38    --namespace "${LOGGING_NS}" \
39    --set elasticsearch.host=elasticsearch-client.${LOGGING_NS}.svc.cluster.local \
40    --set elasticsearch.port=9200
41 helm install stable/kibana \
42    --name kibana \
43    --namespace "${LOGGING_NS}" \
44    --set env.ELASTICSEARCH_URL=http://elasticsearch-client.${LOGGING_NS}.svc.cluster.local:9200 \
45    --set env.ELASTICSEARCH_HOSTS=http://elasticsearch-client.${LOGGING_NS}.svc.cluster.local:9200 \
46    --set env.SERVER_BASEPATH=/api/v1/namespaces/${LOGGING_NS}/services/kibana/proxy
47    #--set image.tag=6.4.2 \
48
49 KIBANA_POD_NAME=$(kubectl get pods --selector=app=kibana -n  "${LOGGING_NS}" \
50    --output=jsonpath="{.items..metadata.name}")
51 wait_for_pods_running 1 "${LOGGING_NS}" "${KIBANA_POD_NAME}"
52
53
54 # install prometheus
55 PROMETHEUS_NS="monitoring"
56 OPERATOR_POD_NAME="prometheus-prometheus-operator-prometheus-0"
57 ALERTMANAGER_POD_NAME="alertmanager-prometheus-operator-alertmanager-0"
58 helm install stable/prometheus-operator --name prometheus-operator --namespace "${PROMETHEUS_NS}"
59 wait_for_pods_running 1 "${PROMETHEUS_NS}" "${OPERATOR_POD_NAME}"
60
61 GRAFANA_POD_NAME=$(kubectl get pods --selector=app=grafana -n  "${PROMETHEUS_NS}" \
62    --output=jsonpath="{.items..metadata.name}")
63
64
65
66 cat <<EOF > ./ingress_lm.yaml
67 apiVersion: extensions/v1beta1
68 kind: Ingress
69 metadata:
70   name: ingress-lm
71   annotations:
72     nginx.ingress.kubernetes.io/rewrite-target: /
73 spec:
74   rules:
75   - http:
76       paths:
77       - path: /kibana
78         backend:
79           serviceName: kibana
80           servicePort: 5601
81       - path: /operator
82         backend:
83           serviceName: prometheus-operator-prometheus 
84           servicePort: 9090
85       - path: /alertmanager
86         backend:
87           serviceName: prometheus-operator-alertmanager
88           servicePort: 9093
89       - path: /grafana
90         backend:
91           serviceName: prometheus-operator-grafana
92           servicePort: 3000
93 EOF
94 kubectl apply -f ingress-lm.yaml
95