forked from kubernetes/autoscaler
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathexample.yaml
145 lines (145 loc) · 2.95 KB
/
example.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
# Config map for resource configuration.
# Specify 'baseCPU', 'cpuPerNode', 'baseMemory', and 'memoryPerNode' to
# overwrite the CLI resource options 'cpu', 'extra-cpu', 'memory' and 'extra-memory'
# respectively.
apiVersion: v1
kind: ConfigMap
metadata:
name: nanny-config
namespace: default
data:
NannyConfiguration: |-
apiVersion: nannyconfig/v1alpha1
kind: NannyConfiguration
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: pod-nanny
namespace: default
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: nanny-v1
namespace: default
labels:
k8s-app: nanny
version: v1
spec:
replicas: 1
selector:
matchLabels:
k8s-app: nanny
version: v1
template:
metadata:
labels:
k8s-app: nanny
version: v1
kubernetes.io/cluster-service: "true"
spec:
serviceAccountName: pod-nanny
containers:
- image: registry.k8s.io/autoscaling/addon-resizer:1.8.14
imagePullPolicy: Always
name: pod-nanny
resources:
limits:
cpu: 300m
memory: 200Mi
requests:
cpu: 300m
memory: 200Mi
env:
- name: MY_POD_NAME
valueFrom:
fieldRef:
fieldPath: metadata.name
- name: MY_POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
volumeMounts:
- name: nanny-config-volume
mountPath: /etc/config
command:
- /pod_nanny
- --config-dir=/etc/config
- --cpu=300m
- --extra-cpu=20m
- --memory=200Mi
- --extra-memory=10Mi
- --threshold=5
- --deployment=nanny-v1
volumes:
- name: nanny-config-volume
configMap:
name: nanny-config
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: default:pod-nanny
rules:
### --use-metrics=false
- apiGroups:
- ""
resources:
- nodes
verbs:
- list
### --use-metrics=true
# - nonResourceURLs:
# - /metrics
# verbs:
# - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: pod-nanny-binding
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: ClusterRole
name: default:pod-nanny
subjects:
- kind: ServiceAccount
name: pod-nanny
namespace: default
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: default:pod-nanny
namespace: default
rules:
- apiGroups:
- ""
resources:
- pods
verbs:
- get
- apiGroups:
- "apps"
resources:
- deployments
resourceNames:
- nanny-v1
verbs:
- get
- patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: pod-nanny-binding
namespace: default
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: default:pod-nanny
subjects:
- kind: ServiceAccount
name: pod-nanny
---