From 3a2dd05da48a27fb275b508a2d986e6f4947ba78 Mon Sep 17 00:00:00 2001
From: Frederic Branczyk <fbranczyk@gmail.com>
Date: Fri, 10 Nov 2017 12:00:53 +0100
Subject: [PATCH] kube-prometheus: add metrics-server example

---
 manifests/metrics-server/auth-delegator.yaml  | 12 +++++++++
 manifests/metrics-server/auth-reader.yaml     | 13 ++++++++++
 .../metrics-server/metrics-apiservice.yaml    | 13 ++++++++++
 .../metrics-server-cluster-role-binding.yaml  | 12 +++++++++
 .../metrics-server-cluster-role.yaml          | 23 +++++++++++++++++
 .../metrics-server-deployment.yaml            | 25 +++++++++++++++++++
 .../metrics-server-service-account.yaml       |  5 ++++
 .../metrics-server-service.yaml               | 14 +++++++++++
 8 files changed, 117 insertions(+)
 create mode 100644 manifests/metrics-server/auth-delegator.yaml
 create mode 100644 manifests/metrics-server/auth-reader.yaml
 create mode 100644 manifests/metrics-server/metrics-apiservice.yaml
 create mode 100644 manifests/metrics-server/metrics-server-cluster-role-binding.yaml
 create mode 100644 manifests/metrics-server/metrics-server-cluster-role.yaml
 create mode 100644 manifests/metrics-server/metrics-server-deployment.yaml
 create mode 100644 manifests/metrics-server/metrics-server-service-account.yaml
 create mode 100644 manifests/metrics-server/metrics-server-service.yaml

diff --git a/manifests/metrics-server/auth-delegator.yaml b/manifests/metrics-server/auth-delegator.yaml
new file mode 100644
index 00000000..04826aec
--- /dev/null
+++ b/manifests/metrics-server/auth-delegator.yaml
@@ -0,0 +1,12 @@
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+  name: metrics-server:system:auth-delegator
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: system:auth-delegator
+subjects:
+- kind: ServiceAccount
+  name: metrics-server
+  namespace: kube-system
diff --git a/manifests/metrics-server/auth-reader.yaml b/manifests/metrics-server/auth-reader.yaml
new file mode 100644
index 00000000..1ab6a6a3
--- /dev/null
+++ b/manifests/metrics-server/auth-reader.yaml
@@ -0,0 +1,13 @@
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: RoleBinding
+metadata:
+  name: metrics-server-auth-reader
+  namespace: kube-system
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: Role
+  name: extension-apiserver-authentication-reader
+subjects:
+- kind: ServiceAccount
+  name: metrics-server
+  namespace: kube-system
diff --git a/manifests/metrics-server/metrics-apiservice.yaml b/manifests/metrics-server/metrics-apiservice.yaml
new file mode 100644
index 00000000..a8860fbc
--- /dev/null
+++ b/manifests/metrics-server/metrics-apiservice.yaml
@@ -0,0 +1,13 @@
+apiVersion: apiregistration.k8s.io/v1beta1
+kind: APIService
+metadata:
+  name: v1beta1.metrics.k8s.io
+spec:
+  service:
+    name: metrics-server
+    namespace: kube-system
+  group: metrics.k8s.io
+  version: v1beta1
+  insecureSkipTLSVerify: true
+  groupPriorityMinimum: 100
+  versionPriority: 100
diff --git a/manifests/metrics-server/metrics-server-cluster-role-binding.yaml b/manifests/metrics-server/metrics-server-cluster-role-binding.yaml
new file mode 100644
index 00000000..dc634345
--- /dev/null
+++ b/manifests/metrics-server/metrics-server-cluster-role-binding.yaml
@@ -0,0 +1,12 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRoleBinding
+metadata:
+  name: system:metrics-server
+roleRef:
+  apiGroup: rbac.authorization.k8s.io
+  kind: ClusterRole
+  name: system:metrics-server
+subjects:
+- kind: ServiceAccount
+  name: metrics-server
+  namespace: kube-system
diff --git a/manifests/metrics-server/metrics-server-cluster-role.yaml b/manifests/metrics-server/metrics-server-cluster-role.yaml
new file mode 100644
index 00000000..6976f5ce
--- /dev/null
+++ b/manifests/metrics-server/metrics-server-cluster-role.yaml
@@ -0,0 +1,23 @@
+apiVersion: rbac.authorization.k8s.io/v1
+kind: ClusterRole
+metadata:
+  name: system:metrics-server
+rules:
+- apiGroups:
+  - ""
+  resources:
+  - pods
+  - nodes
+  - namespaces
+  verbs:
+  - get
+  - list
+  - watch
+- apiGroups:
+  - "extensions"
+  resources:
+  - deployments
+  verbs:
+  - get
+  - list
+  - watch
diff --git a/manifests/metrics-server/metrics-server-deployment.yaml b/manifests/metrics-server/metrics-server-deployment.yaml
new file mode 100644
index 00000000..386740da
--- /dev/null
+++ b/manifests/metrics-server/metrics-server-deployment.yaml
@@ -0,0 +1,25 @@
+apiVersion: extensions/v1beta1
+kind: Deployment
+metadata:
+  name: metrics-server
+  namespace: kube-system
+  labels:
+    k8s-app: metrics-server
+spec:
+  selector:
+    matchLabels:
+      k8s-app: metrics-server
+  template:
+    metadata:
+      name: metrics-server
+      labels:
+        k8s-app: metrics-server
+    spec:
+      serviceAccountName: metrics-server
+      containers:
+      - name: metrics-server
+        image: gcr.io/google_containers/metrics-server-amd64:v0.2.0
+        imagePullPolicy: Always
+        command:
+        - /metrics-server
+        - --source=kubernetes.summary_api:''
diff --git a/manifests/metrics-server/metrics-server-service-account.yaml b/manifests/metrics-server/metrics-server-service-account.yaml
new file mode 100644
index 00000000..ee205aa6
--- /dev/null
+++ b/manifests/metrics-server/metrics-server-service-account.yaml
@@ -0,0 +1,5 @@
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+  name: metrics-server
+  namespace: kube-system
diff --git a/manifests/metrics-server/metrics-server-service.yaml b/manifests/metrics-server/metrics-server-service.yaml
new file mode 100644
index 00000000..974628e0
--- /dev/null
+++ b/manifests/metrics-server/metrics-server-service.yaml
@@ -0,0 +1,14 @@
+apiVersion: v1
+kind: Service
+metadata:
+  name: metrics-server
+  namespace: kube-system
+  labels:
+    kubernetes.io/name: "Metrics-server"
+spec:
+  selector:
+    k8s-app: metrics-server
+  ports:
+  - port: 443
+    protocol: TCP
+    targetPort: 443
-- 
GitLab