blob: fc82f49b1a100fe59566d1458c6b22e65f445c08 (
plain)
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
|
apiVersion: v1
kind: ReplicationController
metadata:
name: hawkular-cassandra-{{ node }}
labels:
metrics-infra: hawkular-cassandra
name: hawkular-cassandra
type: hawkular-cassandra
spec:
selector:
name: hawkular-cassandra-{{ node }}
replicas: {{replica_count}}
template:
version: v1
metadata:
labels:
metrics-infra: hawkular-cassandra
name: hawkular-cassandra-{{ node }}
type: hawkular-cassandra
spec:
serviceAccount: cassandra
securityContext:
supplementalGroups:
- {{openshift_metrics_cassandra_storage_group}}
{% if node_selector is iterable and node_selector | length > 0 %}
nodeSelector:
{% for key, value in node_selector.iteritems() %}
{{key}}: "{{value}}"
{% endfor %}
{% endif %}
containers:
- image: "{{ openshift_metrics_image_prefix }}metrics-cassandra:{{ openshift_metrics_image_version }}"
imagePullPolicy: Always
name: hawkular-cassandra-{{ node }}
ports:
- name: cql-port
containerPort: 9042
- name: thift-port
containerPort: 9160
- name: tcp-port
containerPort: 7000
- name: ssl-port
containerPort: 7001
command:
- "/opt/apache-cassandra/bin/cassandra-docker.sh"
- "--cluster_name=hawkular-metrics"
- "--data_volume=/cassandra_data"
- "--internode_encryption=all"
- "--require_node_auth=true"
- "--enable_client_encryption=true"
- "--require_client_auth=true"
env:
- name: CASSANDRA_MASTER
value: "{{ master }}"
- name: CASSANDRA_DATA_VOLUME
value: "/cassandra_data"
- name: JVM_OPTS
value: "-Dcassandra.commitlog.ignorereplayerrors=true"
- name: TRUSTSTORE_NODES_AUTHORITIES
value: "/hawkular-cassandra-certs/tls.peer.truststore.crt"
- name: TRUSTSTORE_CLIENT_AUTHORITIES
value: "/hawkular-cassandra-certs/tls.client.truststore.crt"
- name: POD_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: MEMORY_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.memory
- name: CPU_LIMIT
valueFrom:
resourceFieldRef:
resource: limits.cpu
divisor: 1m
volumeMounts:
- name: cassandra-data
mountPath: "/cassandra_data"
- name: hawkular-cassandra-certs
mountPath: "/hawkular-cassandra-certs"
{% if ((openshift_metrics_cassandra_limits_cpu is defined and openshift_metrics_cassandra_limits_cpu is not none)
or (openshift_metrics_cassandra_limits_memory is defined and openshift_metrics_cassandra_limits_memory is not none)
or (openshift_metrics_cassandra_requests_cpu is defined and openshift_metrics_cassandra_requests_cpu is not none)
or (openshift_metrics_cassandra_requests_memory is defined and openshift_metrics_cassandra_requests_memory is not none))
%}
resources:
{% if (openshift_metrics_cassandra_limits_cpu is not none
or openshift_metrics_cassandra_limits_memory is not none)
%}
limits:
{% if openshift_metrics_cassandra_limits_cpu is not none %}
cpu: "{{openshift_metrics_cassandra_limits_cpu}}"
{% endif %}
{% if openshift_metrics_cassandra_limits_memory is not none %}
memory: "{{openshift_metrics_cassandra_limits_memory}}"
{% endif %}
{% endif %}
{% if (openshift_metrics_cassandra_requests_cpu is not none
or openshift_metrics_cassandra_requests_memory is not none)
%}
requests:
{% if openshift_metrics_cassandra_requests_cpu is not none %}
cpu: "{{openshift_metrics_cassandra_requests_cpu}}"
{% endif %}
{% if openshift_metrics_cassandra_requests_memory is not none %}
memory: "{{openshift_metrics_cassandra_requests_memory}}"
{% endif %}
{% endif %}
{% endif %}
readinessProbe:
exec:
command:
- "/opt/apache-cassandra/bin/cassandra-docker-ready.sh"
lifecycle:
preStop:
exec:
command:
- "/opt/apache-cassandra/bin/cassandra-prestop.sh"
postStart:
exec:
command:
- "/opt/apache-cassandra/bin/cassandra-poststart.sh"
terminationGracePeriodSeconds: 1800
volumes:
- name: cassandra-data
{% if openshift_metrics_cassandra_storage_type == 'emptydir' %}
emptyDir: {}
{% else %}
persistentVolumeClaim:
claimName: "{{ openshift_metrics_cassandra_pvc_prefix }}-{{ node }}"
{% endif %}
- name: hawkular-cassandra-certs
secret:
secretName: hawkular-cassandra-certs
|