-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathsolr.yaml
183 lines (183 loc) · 4.85 KB
/
solr.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
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: solr
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: solr
helm.sh/chart: solr-1.3.3
name: solr
namespace: default
spec:
podManagementPolicy: OrderedReady
replicas: 3
revisionHistoryLimit: 10
selector:
matchLabels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: solr
app.kubernetes.io/name: solr
serviceName: solr-headless
template:
metadata:
labels:
app.kubernetes.io/component: server
app.kubernetes.io/instance: solr
app.kubernetes.io/name: solr
spec:
affinity: {}
containers:
- env:
- name: SOLR_JAVA_MEM
value: -Xms2g -Xmx3g
- name: SOLR_HOME
value: /opt/solr/server/home
- name: SOLR_PORT
value: "8983"
- name: POD_HOSTNAME
valueFrom:
fieldRef:
apiVersion: v1
fieldPath: metadata.name
- name: SOLR_HOST
value: $(POD_HOSTNAME).solr-headless.default
- name: ZK_HOST
value: solr-zookeeper-headless:2181
- name: SOLR_LOG_LEVEL
value: INFO
image: solr:7.7.2
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 3
httpGet:
path: /solr/admin/info/system
port: 8983
scheme: HTTP
initialDelaySeconds: 45
periodSeconds: 10
successThreshold: 1
timeoutSeconds: 1
name: solr
ports:
- containerPort: 8983
name: solr-client
protocol: TCP
readinessProbe:
failureThreshold: 3
httpGet:
path: /solr/admin/info/system
port: 8983
scheme: HTTP
initialDelaySeconds: 15
periodSeconds: 5
successThreshold: 1
timeoutSeconds: 1
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /opt/solr/server/home
name: solr-pvc
dnsPolicy: ClusterFirst
initContainers:
- command:
- sh
- -c
- |
COUNTER=0;
while [ $COUNTER -lt 120 ]; do
addr=$(nslookup -type=a solr-zookeeper-headless | grep "Address:" | awk 'NR>1 {print $2}')
if [ ! -z "$addr" ]; then
while read -r line; do
echo $line;
mode=$(echo srvr | nc $line 2181 | grep "Mode");
echo $mode;
if [ "$mode" = "Mode: leader" ] || [ "$mode" = "Mode: standalone" ]; then
echo "Found a leader!";
exit 0;
fi;
done <<EOF
$addr
EOF
fi;
let COUNTER=COUNTER+1;
sleep 2;
done;
echo "Did NOT see a ZK leader after 240 secs!";
exit 1;
image: busybox:latest
imagePullPolicy: Always
name: check-zk
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
- command:
- sh
- -c
- cp /tmp/solr.xml /tmp-config/solr.xml
image: busybox:latest
imagePullPolicy: Always
name: cp-solr-xml
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /tmp
name: solr-xml
- mountPath: /tmp-config
name: solr-pvc
restartPolicy: Always
schedulerName: default-scheduler
securityContext:
fsGroup: 8983
runAsUser: 8983
terminationGracePeriodSeconds: 180
volumes:
- configMap:
defaultMode: 420
items:
- key: solr.xml
path: solr.xml
name: solr-config-map
name: solr-xml
updateStrategy:
type: RollingUpdate
volumeClaimTemplates:
- metadata:
annotations:
pv.beta.kubernetes.io/gid: "8983"
name: solr-pvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 20Gi
volumeMode: Filesystem
---
apiVersion: v1
kind: Service
metadata:
annotations:
cloud.google.com/neg: '{"exposed_ports": {"8983":{}}}'
labels:
app.kubernetes.io/instance: solr
app.kubernetes.io/managed-by: Tiller
app.kubernetes.io/name: solr
helm.sh/chart: solr-1.3.3
name: solr-svc
namespace: default
spec:
externalTrafficPolicy: Cluster
ports:
- name: solr-client
port: 8983
protocol: TCP
targetPort: 8983
selector:
app.kubernetes.io/component: server
app.kubernetes.io/instance: solr
app.kubernetes.io/name: solr
sessionAffinity: None
type: NodePort