1+ apiVersion : apps/v1
2+ kind : StatefulSet
3+ metadata :
4+ name : {{ .Release.Name }}-cassandra
5+ namespace : {{ .Release.Namespace }}
6+ labels :
7+ app : {{ .Release.Name }}-cassandra
8+ spec :
9+ replicas : 1
10+ serviceName : {{ .Release.Name }}-cassandra
11+ selector :
12+ matchLabels :
13+ app : {{ .Release.Name }}-cassandra
14+ template :
15+ metadata :
16+ labels :
17+ app : {{ .Release.Name }}-cassandra
18+ spec :
19+ containers :
20+ - name : cassandra
21+ image : {{ .Values.image }}
22+ imagePullPolicy : {{ .Values.pullPolicy }}
23+ ports :
24+ - containerPort : 9042
25+ resources :
26+ requests :
27+ memory : {{ .Values.resources.requests.memory }}
28+ cpu : {{ .Values.resources.requests.cpu }}
29+ limits :
30+ memory : {{ .Values.resources.limits.memory }}
31+ cpu : {{ .Values.resources.limits.cpu }}
32+ env :
33+ - name : CASSANDRA_CLUSTER_NAME
34+ value : {{ .Values.config.cluster_name }}
35+ - name : CASSANDRA_NUM_TOKENS
36+ value : " {{ .Values.config.num_tokens }}"
37+ - name : CASSANDRA_SEEDS
38+ value : " {{ .Release.Name }}-cassandra-0.{{ .Release.Name }}-cassandra.{{ .Release.Namespace }}.svc.cluster.local"
39+ lifecycle :
40+ preStop :
41+ exec :
42+ command :
43+ - /bin/sh
44+ - -c
45+ - nodetool drain
46+ livenessProbe :
47+ exec :
48+ command :
49+ - sh
50+ - -c
51+ - " nodetool status"
52+ initialDelaySeconds : 120
53+ periodSeconds : 20
54+ timeoutSeconds : 15
55+ failureThreshold : 3
56+ readinessProbe :
57+ exec :
58+ command :
59+ - sh
60+ - -c
61+ - " nodetool status"
62+ initialDelaySeconds : 60
63+ periodSeconds : 20
64+ timeoutSeconds : 15
65+ failureThreshold : 3
66+ volumeMounts :
67+ - name : {{.Release.Name }}-cassandra-data
68+ mountPath : /var/lib/cassandra
69+ volumeClaimTemplates :
70+ - metadata :
71+ name : {{.Release.Name }}-cassandra-data
72+ spec :
73+ accessModes : ["ReadWriteOnce"]
74+ resources :
75+ requests :
76+ storage : {{ .Values.diskSize }}
77+ storageClassName : standard
0 commit comments