From d4089d7125bd765b2077b7a31589831b6f88006e Mon Sep 17 00:00:00 2001
From: Matthias Loibl <mail@matthiasloibl.com>
Date: Tue, 13 Nov 2018 14:43:53 +0100
Subject: [PATCH] contrib/kube-prometheus: Add sample-app for showing custom
 metrics with HPA

Use interval in ServiceMonitor endpoint

Reintroduce updated dpeloy.sh & teardown.sh
---
 experimental/custom-metrics-api/deploy.sh     |  7 ++
 .../custom-metrics-api/sample-app.yaml        | 67 +++++++++++++++++++
 experimental/custom-metrics-api/teardown.sh   |  7 ++
 3 files changed, 81 insertions(+)
 create mode 100644 experimental/custom-metrics-api/deploy.sh
 create mode 100644 experimental/custom-metrics-api/sample-app.yaml
 create mode 100644 experimental/custom-metrics-api/teardown.sh

diff --git a/experimental/custom-metrics-api/deploy.sh b/experimental/custom-metrics-api/deploy.sh
new file mode 100644
index 00000000..a7324831
--- /dev/null
+++ b/experimental/custom-metrics-api/deploy.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash	
+
+kubectl apply -n monitoring custom-metrics-apiserver-resource-reader-cluster-role-binding.yaml
+kubectl apply -n monitoring custom-metrics-apiservice.yaml
+kubectl apply -n monitoring custom-metrics-cluster-role.yaml
+kubectl apply -n monitoring custom-metrics-configmap.yaml
+kubectl apply -n monitoring hpa-custom-metrics-cluster-role-binding.yaml
diff --git a/experimental/custom-metrics-api/sample-app.yaml b/experimental/custom-metrics-api/sample-app.yaml
new file mode 100644
index 00000000..470887c6
--- /dev/null
+++ b/experimental/custom-metrics-api/sample-app.yaml
@@ -0,0 +1,67 @@
+kind: ServiceMonitor
+apiVersion: monitoring.coreos.com/v1
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  selector:
+    matchLabels:
+      app: sample-app
+  endpoints: 
+  - port: http
+    interval: 5s
+---
+apiVersion: v1
+kind: Service
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  ports:
+  - name: http
+    port: 8080
+    targetPort: 8080
+  selector:
+    app: sample-app
+---
+apiVersion: apps/v1
+kind: Deployment
+metadata:
+  name: sample-app
+  labels:
+    app: sample-app
+spec:
+  replicas: 1
+  selector:
+    matchLabels:
+      app: sample-app
+  template:
+    metadata:
+      labels:
+        app: sample-app
+    spec:
+      containers:
+      - image: luxas/autoscale-demo:v0.1.2
+        name: metrics-provider
+        ports:
+        - name: http
+          containerPort: 8080
+---
+kind: HorizontalPodAutoscaler
+apiVersion: autoscaling/v2beta1
+metadata:
+  name: sample-app
+spec:
+  scaleTargetRef:
+    apiVersion: apps/v1
+    kind: Deployment
+    name: sample-app
+  minReplicas: 1
+  maxReplicas: 10
+  metrics:
+  - type: Pods
+    pods:
+      metricName: http_requests
+      targetAverageValue: 500m
diff --git a/experimental/custom-metrics-api/teardown.sh b/experimental/custom-metrics-api/teardown.sh
new file mode 100644
index 00000000..2287c799
--- /dev/null
+++ b/experimental/custom-metrics-api/teardown.sh
@@ -0,0 +1,7 @@
+#!/usr/bin/env bash	
+
+kubectl delete -n monitoring custom-metrics-apiserver-resource-reader-cluster-role-binding.yaml
+kubectl delete -n monitoring custom-metrics-apiservice.yaml
+kubectl delete -n monitoring custom-metrics-cluster-role.yaml
+kubectl delete -n monitoring custom-metrics-configmap.yaml
+kubectl delete -n monitoring hpa-custom-metrics-cluster-role-binding.yaml
-- 
GitLab