Skip to content

Commit afc68d6

Browse files
committed
adding elasticsearch stateful configs plus additional elk tools
1 parent 18fece6 commit afc68d6

8 files changed

+380
-0
lines changed
Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,7 @@
1+
apiVersion: v1
2+
kind: Namespace
3+
metadata:
4+
creationTimestamp: null
5+
name: elktest
6+
spec: {}
7+
status: {}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
apiVersion: v1
2+
data:
3+
cluster.name: elktest-production
4+
elasticsearch.client: http://elasticsearch-client:9200
5+
kind: ConfigMap
6+
metadata:
7+
creationTimestamp: null
8+
name: escluster-config
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: elasticsearch-master
5+
labels:
6+
app: elasticsearch-master
7+
spec:
8+
ports:
9+
-
10+
port: 9200
11+
name: rest
12+
-
13+
port: 9300
14+
name: transport
15+
clusterIP: None
16+
selector:
17+
app: elasticsearch-master
18+
---
19+
apiVersion: apps/v1beta2
20+
kind: StatefulSet
21+
metadata:
22+
name: elasticsearch-master
23+
spec:
24+
selector:
25+
matchLabels:
26+
app: elasticsearch-master # has to match .spec.template.metadata.labels
27+
serviceName: "elasticsearch-master"
28+
replicas: 1 # by default is 1
29+
template:
30+
metadata:
31+
labels:
32+
app: elasticsearch-master # has to match .spec.selector.matchLabels
33+
spec:
34+
terminationGracePeriodSeconds: 10
35+
securityContext:
36+
fsGroup: 1000
37+
containers:
38+
- name: elasticsearch-master
39+
image: pblaas/elasticsearch:6.1.2
40+
args: [ "-E", "cluster.name=$(cluster.name)", "-E", "node.data=false", "-E", "node.master=true", "-E", "node.name=$(MY_POD_NAME)" ]
41+
imagePullPolicy: Always
42+
env:
43+
- name: MY_POD_NAME
44+
valueFrom:
45+
fieldRef:
46+
fieldPath: metadata.name
47+
envFrom:
48+
- configMapRef:
49+
name: escluster-config
50+
ports:
51+
- containerPort: 9200
52+
name: rest
53+
- containerPort: 9300
54+
name: transport
55+
volumeMounts:
56+
- name: es-lib
57+
mountPath: /var/lib/elasticsearch
58+
- name: es-log
59+
mountPath: /var/log/elasticsearch
60+
volumeClaimTemplates:
61+
- metadata:
62+
name: es-lib
63+
spec:
64+
accessModes: [ "ReadWriteOnce" ]
65+
storageClassName: gold
66+
resources:
67+
requests:
68+
storage: 1Gi
69+
- metadata:
70+
name: es-log
71+
spec:
72+
accessModes: [ "ReadWriteOnce" ]
73+
storageClassName: gold
74+
resources:
75+
requests:
76+
storage: 2Gi
Lines changed: 77 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,77 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: elasticsearch-data
5+
labels:
6+
app: elasticsearch-data
7+
spec:
8+
ports:
9+
-
10+
port: 9200
11+
name: rest
12+
-
13+
port: 9300
14+
name: transport
15+
clusterIP: None
16+
selector:
17+
app: elasticsearch-data
18+
---
19+
apiVersion: apps/v1beta2
20+
kind: StatefulSet
21+
metadata:
22+
name: elasticsearch-data
23+
spec:
24+
selector:
25+
matchLabels:
26+
app: elasticsearch-data # has to match .spec.template.metadata.labels
27+
serviceName: "elasticsearch-data"
28+
replicas: 2 # by default is 1
29+
template:
30+
metadata:
31+
labels:
32+
app: elasticsearch-data # has to match .spec.selector.matchLabels
33+
spec:
34+
terminationGracePeriodSeconds: 10
35+
securityContext:
36+
fsGroup: 1000
37+
containers:
38+
- name: elasticsearch-data
39+
image: pblaas/elasticsearch:6.1.2
40+
args: [ "-E", "cluster.name=$(cluster.name)", "-E", "node.data=true", "-E", "node.master=false", "-E", "node.name=$(MY_POD_NAME)", "-E", "discovery.zen.ping.unicast.hosts=elasticsearch-master" ]
41+
imagePullPolicy: Always
42+
env:
43+
- name: MY_POD_NAME
44+
valueFrom:
45+
fieldRef:
46+
fieldPath: metadata.name
47+
envFrom:
48+
- configMapRef:
49+
name: escluster-config
50+
imagePullPolicy: Always
51+
ports:
52+
- containerPort: 9200
53+
name: rest
54+
- containerPort: 9300
55+
name: transport
56+
volumeMounts:
57+
- name: es-lib
58+
mountPath: /var/lib/elasticsearch
59+
- name: es-log
60+
mountPath: /var/log/elasticsearch
61+
volumeClaimTemplates:
62+
- metadata:
63+
name: es-lib
64+
spec:
65+
accessModes: [ "ReadWriteOnce" ]
66+
storageClassName: gold
67+
resources:
68+
requests:
69+
storage: 10Gi
70+
- metadata:
71+
name: es-log
72+
spec:
73+
accessModes: [ "ReadWriteOnce" ]
74+
storageClassName: gold
75+
resources:
76+
requests:
77+
storage: 2Gi
Lines changed: 76 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,76 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: elasticsearch-client
5+
labels:
6+
app: elasticsearch-client
7+
spec:
8+
ports:
9+
-
10+
port: 9200
11+
name: rest
12+
-
13+
port: 9300
14+
name: transport
15+
clusterIP: None
16+
selector:
17+
app: elasticsearch-client
18+
---
19+
apiVersion: apps/v1beta2
20+
kind: StatefulSet
21+
metadata:
22+
name: elasticsearch-client
23+
spec:
24+
selector:
25+
matchLabels:
26+
app: elasticsearch-client # has to match .spec.template.metadata.labels
27+
serviceName: "elasticsearch-client"
28+
replicas: 1 # by default is 1
29+
template:
30+
metadata:
31+
labels:
32+
app: elasticsearch-client # has to match .spec.selector.matchLabels
33+
spec:
34+
terminationGracePeriodSeconds: 10
35+
securityContext:
36+
fsGroup: 1000
37+
containers:
38+
- name: elasticsearch-client
39+
image: pblaas/elasticsearch:6.1.2
40+
args: [ "-E", "cluster.name=$(cluster.name)", "-E", "node.data=false", "-E", "node.master=false", "-E", "node.name=$(MY_POD_NAME)", "-E", "discovery.zen.ping.unicast.hosts=elasticsearch-master" ]
41+
imagePullPolicy: Always
42+
env:
43+
- name: MY_POD_NAME
44+
valueFrom:
45+
fieldRef:
46+
fieldPath: metadata.name
47+
envFrom:
48+
- configMapRef:
49+
name: escluster-config
50+
ports:
51+
- containerPort: 9200
52+
name: rest
53+
- containerPort: 9300
54+
name: transport
55+
volumeMounts:
56+
- name: es-lib
57+
mountPath: /var/lib/elasticsearch
58+
- name: es-log
59+
mountPath: /var/log/elasticsearch
60+
volumeClaimTemplates:
61+
- metadata:
62+
name: es-lib
63+
spec:
64+
accessModes: [ "ReadWriteOnce" ]
65+
storageClassName: gold
66+
resources:
67+
requests:
68+
storage: 1Gi
69+
- metadata:
70+
name: es-log
71+
spec:
72+
accessModes: [ "ReadWriteOnce" ]
73+
storageClassName: gold
74+
resources:
75+
requests:
76+
storage: 2Gi
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: extensions/v1beta1
2+
kind: Ingress
3+
metadata:
4+
name: elasticsearch
5+
spec:
6+
rules:
7+
- host: elasticsearch.xxxx.nip.io
8+
http:
9+
paths:
10+
- path: /
11+
backend:
12+
serviceName: elasticsearch-client
13+
servicePort: 9200
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: cerebro
5+
spec:
6+
type: ClusterIP
7+
selector:
8+
app: cerebro
9+
ports:
10+
-
11+
name: http-9000
12+
port: 9000
13+
targetPort: 9000
14+
protocol: TCP
15+
---
16+
apiVersion: extensions/v1beta1
17+
kind: Deployment
18+
metadata:
19+
name: cerebro
20+
spec:
21+
replicas: 1
22+
template:
23+
metadata:
24+
labels:
25+
app: cerebro
26+
spec:
27+
containers:
28+
- name: cerebro
29+
image: yannart/cerebro:latest
30+
ports:
31+
- containerPort: 9000
32+
imagePullPolicy: Always
33+
resources:
34+
limits:
35+
cpu: 500m
36+
memory: 2000Mi
37+
requests:
38+
cpu: 100m
39+
memory: 500Mi
40+
dnsPolicy: ClusterFirst
41+
restartPolicy: Always
42+
schedulerName: default-scheduler
43+
securityContext:
44+
runAsUser: 0
45+
terminationGracePeriodSeconds: 30
46+
---
47+
apiVersion: extensions/v1beta1
48+
kind: Ingress
49+
metadata:
50+
name: cerebro
51+
spec:
52+
rules:
53+
- host: cerebro.xxxx.nip.io
54+
http:
55+
paths:
56+
- path: /
57+
backend:
58+
serviceName: cerebro
59+
servicePort: 9000
60+
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: kibana
5+
spec:
6+
type: ClusterIP
7+
selector:
8+
app: kibana
9+
ports:
10+
-
11+
name: http-5601
12+
port: 5601
13+
targetPort: 5601
14+
protocol: TCP
15+
---
16+
apiVersion: extensions/v1beta1
17+
kind: Deployment
18+
metadata:
19+
name: kibana
20+
spec:
21+
replicas: 1
22+
template:
23+
metadata:
24+
labels:
25+
app: kibana
26+
spec:
27+
containers:
28+
- name: kibana
29+
image: pblaas/kibana:6.1.2
30+
ports:
31+
- containerPort: 5601
32+
imagePullPolicy: Always
33+
envFrom:
34+
- configMapRef:
35+
name: escluster-config
36+
resources:
37+
limits:
38+
cpu: 2000m
39+
memory: 2500Mi
40+
requests:
41+
cpu: 500m
42+
memory: 1500Mi
43+
dnsPolicy: ClusterFirst
44+
restartPolicy: Always
45+
schedulerName: default-scheduler
46+
securityContext:
47+
runAsUser: 0
48+
terminationGracePeriodSeconds: 30
49+
---
50+
apiVersion: extensions/v1beta1
51+
kind: Ingress
52+
metadata:
53+
name: kibana
54+
spec:
55+
rules:
56+
- host: kibana.xxxx.nip.io
57+
http:
58+
paths:
59+
- path: /
60+
backend:
61+
serviceName: kibana
62+
servicePort: 5601
63+

0 commit comments

Comments
 (0)