Skip to content

Commit 718b2e7

Browse files
committed
Update ES monitoring cluster and other changes
1 parent 30c1fe0 commit 718b2e7

File tree

5 files changed

+354
-124
lines changed

5 files changed

+354
-124
lines changed

k8s/elastic-monitor.yaml

Lines changed: 335 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,335 @@
1+
apiVersion: elasticsearch.k8s.elastic.co/v1
2+
kind: Elasticsearch
3+
metadata:
4+
name: elastic-monitor
5+
namespace: elastic-system
6+
spec:
7+
version: 8.9.0
8+
nodeSets:
9+
- name: main
10+
count: 2
11+
config:
12+
# if not setting max_map_count in an init container, then use this setting
13+
#node.store.allow_mmap: false
14+
podTemplate:
15+
spec:
16+
containers:
17+
- name: elasticsearch
18+
env:
19+
- name: ES_JAVA_OPTS
20+
value: -Xms2g -Xmx2g
21+
resources:
22+
requests:
23+
memory: 4Gi
24+
cpu: 1
25+
limits:
26+
memory: 4Gi
27+
cpu: 1
28+
# related to "node.store.allow_mmap: false" setting above
29+
initContainers:
30+
- name: sysctl
31+
securityContext:
32+
privileged: true
33+
runAsUser: 0
34+
command: ["sh", "-c", "sysctl -w vm.max_map_count=262144"]
35+
volumeClaimTemplates:
36+
- metadata:
37+
name: elasticsearch-data
38+
spec:
39+
accessModes:
40+
- ReadWriteOnce
41+
resources:
42+
requests:
43+
storage: 500Gi
44+
storageClassName: managed-csi-premium
45+
46+
---
47+
apiVersion: kibana.k8s.elastic.co/v1
48+
kind: Kibana
49+
metadata:
50+
name: kibana-monitor
51+
namespace: elastic-system
52+
spec:
53+
version: 8.9.0
54+
count: 1
55+
elasticsearchRef:
56+
name: elastic-monitor
57+
config:
58+
server.publicBaseUrl: https://kibana.exceptionless.io
59+
xpack.fleet.agents.elasticsearch.hosts:
60+
["https://elastic-monitor-es-http.elastic-system.svc:9200"]
61+
xpack.fleet.agents.fleet_server.hosts:
62+
["https://fleet-server-agent-http.elastic-system.svc:8220"]
63+
xpack.fleet.packages:
64+
- name: system
65+
version: latest
66+
- name: elastic_agent
67+
version: latest
68+
- name: fleet_server
69+
version: latest
70+
- name: kubernetes
71+
version: latest
72+
- name: apm
73+
version: latest
74+
xpack.fleet.agentPolicies:
75+
- name: Fleet Server on ECK policy
76+
id: eck-fleet-server
77+
namespace: default
78+
monitoring_enabled:
79+
- logs
80+
- metrics
81+
unenroll_timeout: 900
82+
package_policies:
83+
- name: fleet_server-1
84+
id: fleet_server-1
85+
package:
86+
name: fleet_server
87+
- name: Elastic Agent on ECK policy
88+
id: eck-agent
89+
namespace: default
90+
monitoring_enabled:
91+
- logs
92+
- metrics
93+
unenroll_timeout: 900
94+
package_policies:
95+
- package:
96+
name: system
97+
name: system-1
98+
- package:
99+
name: kubernetes
100+
name: kubernetes-1
101+
- package:
102+
name: apm
103+
name: apm-1
104+
inputs:
105+
- type: apm
106+
enabled: true
107+
vars:
108+
- name: host
109+
value: 0.0.0.0:8200
110+
111+
---
112+
apiVersion: networking.k8s.io/v1
113+
kind: Ingress
114+
metadata:
115+
name: elastic-monitor
116+
namespace: elastic-system
117+
annotations:
118+
kubernetes.io/ingress.class: "nginx"
119+
cert-manager.io/cluster-issuer: letsencrypt-prod
120+
nginx.ingress.kubernetes.io/backend-protocol: "HTTPS"
121+
nginx.ingress.kubernetes.io/proxy-ssl-verify: "off"
122+
nginx.ingress.kubernetes.io/ssl-redirect: "true"
123+
spec:
124+
tls:
125+
- hosts:
126+
- kibana.exceptionless.io
127+
secretName: elastic-monitor-kibana-tls
128+
rules:
129+
- host: kibana.exceptionless.io
130+
http:
131+
paths:
132+
- path: "/"
133+
pathType: Prefix
134+
backend:
135+
service:
136+
name: kibana-monitor-kb-http
137+
port:
138+
name: https
139+
140+
---
141+
apiVersion: agent.k8s.elastic.co/v1alpha1
142+
kind: Agent
143+
metadata:
144+
name: fleet-server
145+
namespace: elastic-system
146+
spec:
147+
version: 8.9.0
148+
kibanaRef:
149+
name: kibana-monitor
150+
elasticsearchRefs:
151+
- name: elastic-monitor
152+
mode: fleet
153+
fleetServerEnabled: true
154+
policyID: eck-fleet-server
155+
deployment:
156+
replicas: 1
157+
podTemplate:
158+
spec:
159+
serviceAccountName: fleet-server
160+
automountServiceAccountToken: true
161+
securityContext:
162+
runAsUser: 0
163+
164+
---
165+
apiVersion: agent.k8s.elastic.co/v1alpha1
166+
kind: Agent
167+
metadata:
168+
name: elastic-agent
169+
namespace: elastic-system
170+
spec:
171+
version: 8.9.0
172+
kibanaRef:
173+
name: kibana-monitor
174+
fleetServerRef:
175+
name: fleet-server
176+
mode: fleet
177+
policyID: eck-agent
178+
daemonSet:
179+
podTemplate:
180+
spec:
181+
serviceAccountName: elastic-agent
182+
hostNetwork: true
183+
dnsPolicy: ClusterFirstWithHostNet
184+
automountServiceAccountToken: true
185+
securityContext:
186+
runAsUser: 0
187+
188+
---
189+
apiVersion: v1
190+
kind: Service
191+
metadata:
192+
name: apm
193+
namespace: elastic-system
194+
spec:
195+
selector:
196+
agent.k8s.elastic.co/name: elastic-agent
197+
ports:
198+
- protocol: TCP
199+
port: 8200
200+
201+
---
202+
apiVersion: rbac.authorization.k8s.io/v1
203+
kind: ClusterRole
204+
metadata:
205+
name: fleet-server
206+
namespace: elastic-system
207+
rules:
208+
- apiGroups: [""]
209+
resources:
210+
- pods
211+
- namespaces
212+
- nodes
213+
verbs:
214+
- get
215+
- watch
216+
- list
217+
- apiGroups: ["coordination.k8s.io"]
218+
resources:
219+
- leases
220+
verbs:
221+
- get
222+
- create
223+
- update
224+
225+
---
226+
apiVersion: v1
227+
kind: ServiceAccount
228+
metadata:
229+
name: fleet-server
230+
namespace: elastic-system
231+
232+
---
233+
apiVersion: rbac.authorization.k8s.io/v1
234+
kind: ClusterRoleBinding
235+
metadata:
236+
name: fleet-server
237+
subjects:
238+
- kind: ServiceAccount
239+
name: fleet-server
240+
namespace: elastic-system
241+
roleRef:
242+
kind: ClusterRole
243+
name: fleet-server
244+
apiGroup: rbac.authorization.k8s.io
245+
246+
---
247+
apiVersion: rbac.authorization.k8s.io/v1
248+
kind: ClusterRole
249+
metadata:
250+
name: elastic-agent
251+
namespace: elastic-system
252+
rules:
253+
- apiGroups: [""]
254+
resources:
255+
- pods
256+
- nodes
257+
- namespaces
258+
- events
259+
- services
260+
- configmaps
261+
- persistentvolumeclaims
262+
- persistentvolumes
263+
verbs:
264+
- get
265+
- watch
266+
- list
267+
- apiGroups: ["storage.k8s.io"]
268+
resources:
269+
- storageclasses
270+
verbs:
271+
- get
272+
- watch
273+
- list
274+
- apiGroups: ["coordination.k8s.io"]
275+
resources:
276+
- leases
277+
verbs:
278+
- get
279+
- create
280+
- update
281+
- nonResourceURLs:
282+
- "/metrics"
283+
verbs:
284+
- get
285+
- apiGroups: ["extensions"]
286+
resources:
287+
- replicasets
288+
verbs:
289+
- get
290+
- list
291+
- watch
292+
- apiGroups: ["apps"]
293+
resources:
294+
- statefulsets
295+
- deployments
296+
- replicasets
297+
- daemonsets
298+
verbs:
299+
- get
300+
- list
301+
- watch
302+
- apiGroups: [""]
303+
resources:
304+
- nodes/stats
305+
verbs:
306+
- get
307+
- apiGroups: ["batch"]
308+
resources:
309+
- jobs
310+
- cronjobs
311+
verbs:
312+
- get
313+
- list
314+
- watch
315+
316+
---
317+
apiVersion: v1
318+
kind: ServiceAccount
319+
metadata:
320+
name: elastic-agent
321+
namespace: elastic-system
322+
323+
---
324+
apiVersion: rbac.authorization.k8s.io/v1
325+
kind: ClusterRoleBinding
326+
metadata:
327+
name: elastic-agent
328+
subjects:
329+
- kind: ServiceAccount
330+
name: elastic-agent
331+
namespace: elastic-system
332+
roleRef:
333+
kind: ClusterRole
334+
name: elastic-agent
335+
apiGroup: rbac.authorization.k8s.io

k8s/ex-prod-elasticsearch.yaml

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,17 @@ metadata:
44
name: ex-prod
55
namespace: ex-prod
66
spec:
7-
version: 7.17.12
8-
image: exceptionless/elasticsearch:7.17.12 # https://github.com/exceptionless/Exceptionless/tree/main/build/docker/elasticsearch
7+
version: 8.9.0
8+
image: exceptionless/elasticsearch:8.9.0 # https://github.com/exceptionless/Exceptionless/tree/main/build/docker/elasticsearch
9+
monitoring:
10+
metrics:
11+
elasticsearchRefs:
12+
- name: elastic-monitor
13+
namespace: elastic-system
14+
logs:
15+
elasticsearchRefs:
16+
- name: elastic-monitor
17+
namespace: elastic-system
918
secureSettings:
1019
- secretName: ex-prod-snapshots
1120
http:
@@ -59,7 +68,7 @@ metadata:
5968
name: ex-prod
6069
namespace: ex-prod
6170
spec:
62-
version: 7.17.12
71+
version: 8.9.0
6372
count: 1
6473
elasticsearchRef:
6574
name: ex-prod

0 commit comments

Comments
 (0)