Skip to content

Commit d0febc4

Browse files
authored
Merge pull request #200 from WIZARD-CXY/autoscaler
add autoscaler for kube-state-metrics
2 parents 8aac25c + 1dff559 commit d0febc4

4 files changed

Lines changed: 58 additions & 3 deletions

File tree

kubernetes/kube-state-metrics-cluster-role.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,4 +28,3 @@ rules:
2828
- cronjobs
2929
- jobs
3030
verbs: ["list", "watch"]
31-

kubernetes/kube-state-metrics-deployment.yaml

Lines changed: 28 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ metadata:
44
name: kube-state-metrics
55
namespace: kube-system
66
spec:
7-
replicas: 2
7+
replicas: 1
88
template:
99
metadata:
1010
labels:
@@ -30,4 +30,30 @@ spec:
3030
limits:
3131
memory: 50Mi
3232
cpu: 200m
33-
33+
- name: addon-resizer
34+
image: gcr.io/google_containers/addon-resizer:1.0
35+
resources:
36+
limits:
37+
cpu: 100m
38+
memory: 30Mi
39+
requests:
40+
cpu: 100m
41+
memory: 30Mi
42+
env:
43+
- name: MY_POD_NAME
44+
valueFrom:
45+
fieldRef:
46+
fieldPath: metadata.name
47+
- name: MY_POD_NAMESPACE
48+
valueFrom:
49+
fieldRef:
50+
fieldPath: metadata.namespace
51+
command:
52+
- /pod_nanny
53+
- --container=kube-state-metrics
54+
- --cpu=100m
55+
- --extra-cpu=1m
56+
- --memory=30Mi
57+
- --extra-memory=2Mi
58+
- --threshold=5
59+
- --deployment=kube-state-metrics
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: rbac.authorization.k8s.io/v1beta1
2+
kind: RoleBinding
3+
metadata:
4+
name: kube-state-metrics
5+
namespace: kube-system
6+
roleRef:
7+
apiGroup: rbac.authorization.k8s.io
8+
kind: Role
9+
name: kube-state-metrics-resizer
10+
subjects:
11+
- kind: ServiceAccount
12+
name: kube-state-metrics
13+
namespace: kube-system
14+
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: rbac.authorization.k8s.io/v1beta1
2+
kind: Role
3+
metadata:
4+
namespace: kube-system
5+
name: kube-state-metrics-resizer
6+
rules:
7+
- apiGroups: [""]
8+
resources:
9+
- pods
10+
verbs: ["get"]
11+
- apiGroups: ["extensions"]
12+
resources:
13+
- deployments
14+
resourceNames: ["kube-state-metrics"]
15+
verbs: ["get", "update"]
16+

0 commit comments

Comments
 (0)