From 43cd9e91f6d22cad257c846f4f9f61d021ca6594 Mon Sep 17 00:00:00 2001 From: Zach Loafman Date: Fri, 16 Jan 2015 07:16:54 -0800 Subject: [PATCH] Revert "Adding a replication controller for all monitoring pods." --- .../cluster-monitoring/grafana-service.yaml | 7 -- .../heapster-controller.yaml | 20 ------ .../cluster-monitoring/heapster-pod.json | 20 ++++++ .../influx-grafana-pod.json | 71 +++++++++++++++++++ .../influx-grafana-service.json | 12 ++++ .../influxdb-grafana-controller.yaml | 34 --------- .../cluster-monitoring/influxdb-service.yaml | 7 -- cluster/gce/util.sh | 49 ++++++------- 8 files changed, 126 insertions(+), 94 deletions(-) delete mode 100644 cluster/addons/cluster-monitoring/grafana-service.yaml delete mode 100644 cluster/addons/cluster-monitoring/heapster-controller.yaml create mode 100644 cluster/addons/cluster-monitoring/heapster-pod.json create mode 100644 cluster/addons/cluster-monitoring/influx-grafana-pod.json create mode 100644 cluster/addons/cluster-monitoring/influx-grafana-service.json delete mode 100644 cluster/addons/cluster-monitoring/influxdb-grafana-controller.yaml delete mode 100644 cluster/addons/cluster-monitoring/influxdb-service.yaml diff --git a/cluster/addons/cluster-monitoring/grafana-service.yaml b/cluster/addons/cluster-monitoring/grafana-service.yaml deleted file mode 100644 index f791e7512e4..00000000000 --- a/cluster/addons/cluster-monitoring/grafana-service.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: "v1beta1" -kind: "Service" -id: "monitoring-grafana" -port: 8087 -containerPort: 80 -selector: - name: "influxGrafana" diff --git a/cluster/addons/cluster-monitoring/heapster-controller.yaml b/cluster/addons/cluster-monitoring/heapster-controller.yaml deleted file mode 100644 index f44f9660398..00000000000 --- a/cluster/addons/cluster-monitoring/heapster-controller.yaml +++ /dev/null @@ -1,20 +0,0 @@ -apiVersion: "v1beta1" -id: "monitoring-heapsterController" -kind: "ReplicationController" -desiredState: - replicas: 1 - replicaSelector: - name: "heapster" - podTemplate: - desiredState: - manifest: - version: "v1beta1" - id: "monitoring-heapsterController" - containers: - - name: "heapster" - image: "kubernetes/heapster:v0.5" - labels: - name: "heapster" - uses: "monitoring-influxdb" -labels: - name: "heapster" diff --git a/cluster/addons/cluster-monitoring/heapster-pod.json b/cluster/addons/cluster-monitoring/heapster-pod.json new file mode 100644 index 00000000000..61a3631a013 --- /dev/null +++ b/cluster/addons/cluster-monitoring/heapster-pod.json @@ -0,0 +1,20 @@ +{ + "id": "heapster", + "kind": "Pod", + "apiVersion": "v1beta1", + "desiredState": { + "manifest": { + "version": "v1beta1", + "id": "heapster", + "containers": [ + { + "name": "heapster", + "image": "kubernetes/heapster" + } + ] + } + }, + "labels": { + "name": "heapster" + } +} diff --git a/cluster/addons/cluster-monitoring/influx-grafana-pod.json b/cluster/addons/cluster-monitoring/influx-grafana-pod.json new file mode 100644 index 00000000000..1a104680ca2 --- /dev/null +++ b/cluster/addons/cluster-monitoring/influx-grafana-pod.json @@ -0,0 +1,71 @@ +{ + "id": "influx-grafana", + "kind": "Pod", + "apiVersion": "v1beta1", + "desiredState": { + "manifest": { + "version": "v1beta1", + "id": "influx-grafana", + "containers": [ + { + "name": "influxdb", + "image": "kubernetes/heapster_influxdb", + "ports": [ + { + "containerPort": 8083, + "hostPort": 8083 + }, + { + "containerPort": 8086, + "hostPort": 8086 + }, + { + "containerPort": 8090, + "hostPort": 8090 + }, + { + "containerPort": 8099, + "hostPort": 8099 + } + ] + }, + { + "name": "grafana", + "image": "kubernetes/heapster_grafana", + "ports": [ + { + "containerPort": 80, + "hostPort": 80 + } + ], + "env": [ + { + "name": "HTTP_USER", + "value": "{KUBE_USER}" + }, + { + "name": "HTTP_PASS", + "value": "{KUBE_PASSWORD}" + } + ] + }, + { + "name": "elasticsearch", + "image": "dockerfile/elasticsearch", + "ports": [ + { + "containerPort": 9200, + "hostPort": 9200 + }, + { + "containerPort": 9300 + } + ] + } + ] + } + }, + "labels": { + "name": "influxdb" + } +} diff --git a/cluster/addons/cluster-monitoring/influx-grafana-service.json b/cluster/addons/cluster-monitoring/influx-grafana-service.json new file mode 100644 index 00000000000..3d879dc9f38 --- /dev/null +++ b/cluster/addons/cluster-monitoring/influx-grafana-service.json @@ -0,0 +1,12 @@ +{ + "id": "influx-master", + "kind": "Service", + "apiVersion": "v1beta1", + "port": 8085, + "containerPort": 8086, + "provider": "kubernetes-default", + "component": "influxdb", + "selector": { + "name": "influxdb" + } +} diff --git a/cluster/addons/cluster-monitoring/influxdb-grafana-controller.yaml b/cluster/addons/cluster-monitoring/influxdb-grafana-controller.yaml deleted file mode 100644 index c1855390da7..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb-grafana-controller.yaml +++ /dev/null @@ -1,34 +0,0 @@ -apiVersion: "v1beta1" -kind: "ReplicationController" -id: "monitoring-influxGrafanaController" -desiredState: - replicas: 1 - replicaSelector: - name: "influxGrafana" - podTemplate: - labels: - name: "influxGrafana" - desiredState: - manifest: - version: "v1beta1" - id: "monitoring-influxGrafanaController" - containers: - - name: "influxdb" - image: "kubernetes/heapster_influxdb:v0.2" - ports: - - containerPort: 8083 - hostPort: 8083 - - containerPort: 8086 - hostPort: 8086 - - name: "grafana" - image: "kubernetes/heapster_grafana:v0.2" - ports: - - containerPort: 80 - hostPort: 80 - env: - - name: "HTTP_USER" - value: "admin" - - name: "HTTP_PASS" - value: "**None**" -labels: - name: "influxGrafana" diff --git a/cluster/addons/cluster-monitoring/influxdb-service.yaml b/cluster/addons/cluster-monitoring/influxdb-service.yaml deleted file mode 100644 index ae51c3c2b24..00000000000 --- a/cluster/addons/cluster-monitoring/influxdb-service.yaml +++ /dev/null @@ -1,7 +0,0 @@ -apiVersion: "v1beta1" -kind: "Service" -id: "monitoring-influxdb" -port: 8085 -containerPort: 8086 -selector: - name: "influxGrafana" diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index 8cd76740bbd..4c42240de07 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -737,37 +737,35 @@ function setup-monitoring { echo "Setting up cluster monitoring using Heapster." detect-project - if ! gcloud compute firewall-rules --project "${PROJECT}" describe monitoring-heapster &> /dev/null; then + if ! gcloud compute firewall-rules --project "{$PROJECT}" describe monitoring-heapster &>/dev/null; then if ! gcloud compute firewall-rules create monitoring-heapster \ --project "${PROJECT}" \ --target-tags="${MINION_TAG}" \ --network="${NETWORK}" \ - --allow tcp:80 tcp:8083 tcp:8086; then - echo -e "${color_red}Failed to set up firewall for monitoring ${color_norm}" && false + --allow tcp:80 tcp:8083 tcp:8086 tcp:9200; then + echo "Failed to set up firewall for monitoring" && false fi fi + # Re-use master auth for Grafana + get-password + ensure-temp-dir + + sed -e "s/{KUBE_USER}/$KUBE_USER/g" \ + -e "s/{KUBE_PASSWORD}/$KUBE_PASSWORD/g" \ + "${KUBE_ROOT}/cluster/addons/cluster-monitoring/influx-grafana-pod.json" \ + > "${KUBE_TEMP}/influx-grafana-pod.json" local kubectl="${KUBE_ROOT}/cluster/kubectl.sh" - local grafana_host="" - if "${kubectl}" create -f "${KUBE_ROOT}/cluster/addons/cluster-monitoring/" &> /dev/null; then - # wait for pods to be scheduled on a node. - echo "waiting for monitoring pods to be scheduled." - for i in `seq 1 10`; do - grafana_host=$("${kubectl}" get pods -l name=influxGrafana -o template -t {{range.items}}{{.currentState.hostIP}}:{{end}}) - if [[ $grafana_host != *"<"* ]]; then - break - fi - sleep 10 - done - if [[ $grafana_host != *"<"* ]]; then - echo - echo -e "${color_green}Grafana dashboard will be available at ${color_yellow}http://$grafana_host${color_green}. Wait for the monitoring dashboard to be online.${color_norm}" - echo - else - echo -e "${color_red}monitoring pods failed to be scheduled.${color_norm}" - fi + if "${kubectl}" create -f "${KUBE_TEMP}/influx-grafana-pod.json" &> /dev/null \ + && "${kubectl}" create -f "${KUBE_ROOT}/cluster/addons/cluster-monitoring/influx-grafana-service.json" &> /dev/null \ + && "${kubectl}" create -f "${KUBE_ROOT}/cluster/addons/cluster-monitoring/heapster-pod.json" &> /dev/null; then + local dashboard_url="http://$(${kubectl} get -o json pod influx-grafana | grep hostIP | awk '{print $2}' | sed 's/[,|\"]//g')" + echo + echo "Grafana dashboard will be available at $dashboard_url. Wait for the monitoring dashboard to be online." + echo "Use the master user name and password for the dashboard." + echo else - echo -e "${color_red}Failed to Setup Monitoring ${color_norm}" + echo "Failed to Setup Monitoring" teardown-monitoring fi fi @@ -778,10 +776,9 @@ function teardown-monitoring { detect-project local kubectl="${KUBE_ROOT}/cluster/kubectl.sh" - local kubecfg="${KUBE_ROOT}/cluster/kubecfg.sh" - "${kubecfg}" resize monitoring-influxGrafanaController 0 &> /dev/null || true - "${kubecfg}" resize monitoring-heapsterController 0 &> /dev/null || true - "${kubectl}" delete -f "${KUBE_ROOT}/cluster/addons/cluster-monitoring/" &> /dev/null || true + "${kubectl}" delete pods heapster &> /dev/null || true + "${kubectl}" delete pods influx-grafana &> /dev/null || true + "${kubectl}" delete services influx-master &> /dev/null || true if gcloud compute firewall-rules describe --project "${PROJECT}" monitoring-heapster &> /dev/null; then gcloud compute firewall-rules delete \ --project "${PROJECT}" \