From 9aa48b7628c158c99f4a050a792613da8c057a7f Mon Sep 17 00:00:00 2001 From: Joe Beda Date: Mon, 5 Jan 2015 10:22:04 -0800 Subject: [PATCH] Move heapster data files to cluster/addons. Also pretty up the JSON (make it real JSON) and streamline the sed in cluster/gce/init.sh. --- .../addons/cluster-monitoring}/README.md | 0 .../cluster-monitoring}/heapster-pod.json | 12 ++-- .../influx-grafana-pod.json | 71 +++++++++++++++++++ .../influx-grafana-service.json | 4 +- cluster/gce/util.sh | 15 ++-- examples/monitoring/influx-grafana-pod.json | 34 --------- hack/e2e-suite/monitoring.sh | 4 +- 7 files changed, 90 insertions(+), 50 deletions(-) rename {examples/monitoring => cluster/addons/cluster-monitoring}/README.md (100%) rename {examples/monitoring => cluster/addons/cluster-monitoring}/heapster-pod.json (56%) create mode 100644 cluster/addons/cluster-monitoring/influx-grafana-pod.json rename {examples/monitoring => cluster/addons/cluster-monitoring}/influx-grafana-service.json (80%) delete mode 100644 examples/monitoring/influx-grafana-pod.json diff --git a/examples/monitoring/README.md b/cluster/addons/cluster-monitoring/README.md similarity index 100% rename from examples/monitoring/README.md rename to cluster/addons/cluster-monitoring/README.md diff --git a/examples/monitoring/heapster-pod.json b/cluster/addons/cluster-monitoring/heapster-pod.json similarity index 56% rename from examples/monitoring/heapster-pod.json rename to cluster/addons/cluster-monitoring/heapster-pod.json index 7ecbc505b26..61a3631a013 100644 --- a/examples/monitoring/heapster-pod.json +++ b/cluster/addons/cluster-monitoring/heapster-pod.json @@ -6,13 +6,15 @@ "manifest": { "version": "v1beta1", "id": "heapster", - "containers": [{ - "name": "heapster", - "image": "kubernetes/heapster", - }] + "containers": [ + { + "name": "heapster", + "image": "kubernetes/heapster" + } + ] } }, "labels": { - "name": "heapster", + "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/examples/monitoring/influx-grafana-service.json b/cluster/addons/cluster-monitoring/influx-grafana-service.json similarity index 80% rename from examples/monitoring/influx-grafana-service.json rename to cluster/addons/cluster-monitoring/influx-grafana-service.json index d83724a2c9f..3d879dc9f38 100644 --- a/examples/monitoring/influx-grafana-service.json +++ b/cluster/addons/cluster-monitoring/influx-grafana-service.json @@ -6,5 +6,7 @@ "containerPort": 8086, "provider": "kubernetes-default", "component": "influxdb", - "selector": { "name": "influxdb" } + "selector": { + "name": "influxdb" + } } diff --git a/cluster/gce/util.sh b/cluster/gce/util.sh index dd77dbf4c97..0f6192ac19a 100755 --- a/cluster/gce/util.sh +++ b/cluster/gce/util.sh @@ -746,15 +746,14 @@ function setup-monitoring { get-password ensure-temp-dir - cp "${KUBE_ROOT}/examples/monitoring/influx-grafana-pod.json" "${KUBE_TEMP}/influx-grafana-pod.0.json" - sed "s/HTTP_USER, \"value\": \"[^\"]*\"/HTTP_USER, \"value\": \"$KUBE_USER\"/g" \ - "${KUBE_TEMP}/influx-grafana-pod.0.json" > "${KUBE_TEMP}/influx-grafana-pod.1.json" - sed "s/HTTP_PASS, \"value\": \"[^\"]*\"/HTTP_PASS, \"value\": \"$KUBE_PASSWORD\"/g" \ - "${KUBE_TEMP}/influx-grafana-pod.1.json" > "${KUBE_TEMP}/influx-grafana-pod.2.json" + 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" - if "${kubectl}" create -f "${KUBE_TEMP}/influx-grafana-pod.2.json" &> /dev/null \ - && "${kubectl}" create -f "${KUBE_ROOT}/examples/monitoring/influx-grafana-service.json" &> /dev/null \ - && "${kubectl}" create -f "${KUBE_ROOT}/examples/monitoring/heapster-pod.json" &> /dev/null; then + 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." diff --git a/examples/monitoring/influx-grafana-pod.json b/examples/monitoring/influx-grafana-pod.json deleted file mode 100644 index 885c41adbf2..00000000000 --- a/examples/monitoring/influx-grafana-pod.json +++ /dev/null @@ -1,34 +0,0 @@ -{ - "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": "admin"}, - {"name": HTTP_PASS, "value": "admin"}], - }, { - "name": "elasticsearch", - "image": "dockerfile/elasticsearch", - "ports": [{"containerPort": 9200, "hostPort": 9200}, - {"containerPort": 9300}], - }] - }, - }, - "labels": { - "name": "influxdb", - } -} diff --git a/hack/e2e-suite/monitoring.sh b/hack/e2e-suite/monitoring.sh index 045be5d2b23..c1ccd81d021 100755 --- a/hack/e2e-suite/monitoring.sh +++ b/hack/e2e-suite/monitoring.sh @@ -26,7 +26,7 @@ KUBE_ROOT=$(dirname "${BASH_SOURCE}")/../.. source "${KUBE_ROOT}/cluster/kube-env.sh" source "${KUBE_ROOT}/cluster/$KUBERNETES_PROVIDER/util.sh" -MONITORING="${KUBE_ROOT}/examples/monitoring" +MONITORING="${KUBE_ROOT}/cluster/addons/cluster-monitoring" KUBECTL="${KUBE_ROOT}/cluster/kubectl.sh" MONITORING_FIREWALL_RULE="monitoring-test" @@ -54,7 +54,7 @@ function cleanup { "${KUBECTL}" delete -f "${MONITORING}/influx-grafana-pod.json" || true "${KUBECTL}" delete -f "${MONITORING}/influx-grafana-service.json" || true "${KUBECTL}" delete -f "${MONITORING}/heapster-pod.json" || true - + # This only has work to do on gce and gke if [[ "${KUBERNETES_PROVIDER}" == "gce" ]] || [[ "${KUBERNETES_PROVIDER}" == "gke" ]]; then detect-project