-
Notifications
You must be signed in to change notification settings - Fork 36
/
cloudability-metrics-agent.yaml
146 lines (146 loc) · 2.9 KB
/
cloudability-metrics-agent.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
146
apiVersion: v1
kind: Namespace
metadata:
name: cloudability
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: cloudability
namespace: cloudability
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
name: metrics-agents
namespace: kube-system
rules:
- apiGroups:
- ""
- "extensions"
- "apps"
- "batch"
resources:
- "namespaces"
- "replicationcontrollers"
- "services"
- "nodes"
- "nodes/spec"
- "pods"
- "jobs"
- "cronjobs"
- "persistentvolumes"
- "persistentvolumeclaims"
- "deployments"
- "replicasets"
- "daemonsets"
verbs:
- "get"
- "watch"
- "list"
- apiGroups: [""]
resources:
- "services/proxy"
- "pods/proxy"
- "nodes/proxy"
- "nodes/stats"
- "nodes/metrics"
verbs:
- "get"
- "list"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
name: metrics-agents
namespace: kube-system
subjects:
- kind: ServiceAccount
name: cloudability
namespace: cloudability
roleRef:
kind: ClusterRole
name: metrics-agents
apiGroup: rbac.authorization.k8s.io
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: metrics-agents
namespace: cloudability
rules:
- apiGroups: ["*"]
resources:
- "pods"
- "pods/log"
verbs:
- "get"
- "list"
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
name: metrics-agents
namespace: cloudability
subjects:
- kind: ServiceAccount
name: cloudability
namespace: cloudability
roleRef:
kind: Role
name: metrics-agents
apiGroup: rbac.authorization.k8s.io
---
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
name: "metrics-agent"
name: "metrics-agent"
namespace: cloudability
spec:
selector:
matchLabels:
app: metrics-agent
replicas: 1
template:
metadata:
labels:
app: metrics-agent
spec:
serviceAccount: "cloudability"
containers:
- image: cloudability/metrics-agent:latest
imagePullPolicy: Always
securityContext:
runAsUser: 10000
runAsNonRoot: true
capabilities:
drop:
- all
allowPrivilegeEscalation: false
resources:
requests:
memory: "2Gi"
cpu: ".5"
limits:
memory: "4Gi"
cpu: "1"
livenessProbe:
exec:
command:
- touch
- tmp/healthy
initialDelaySeconds: 120
periodSeconds: 600
timeoutSeconds: 5
name: "metrics-agent"
args:
- 'kubernetes'
env:
- name: CLOUDABILITY_API_KEY
value: "XXXXXXXXX"
- name: CLOUDABILITY_CLUSTER_NAME
value: "NNNNNNNNN"
- name: CLOUDABILITY_POLL_INTERVAL
value: "180"