-
-
Notifications
You must be signed in to change notification settings - Fork 10
/
deployment.yaml
153 lines (147 loc) · 7.19 KB
/
deployment.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
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "locust-k8s-operator.fullname" . }}
labels:
{{- include "locust-k8s-operator.labels" . | nindent 4 }}
spec:
replicas: {{ .Values.replicaCount }}
selector:
matchLabels:
{{- include "locust-k8s-operator.selectorLabels" . | nindent 6 }}
template:
metadata:
{{- with .Values.podAnnotations }}
annotations:
{{- toYaml . | nindent 8 }}
{{- end }}
labels:
{{- include "locust-k8s-operator.selectorLabels" . | nindent 8 }}
spec:
serviceAccountName: {{ include "locust-k8s-operator.serviceAccountName" . }}
{{- if .Values.image.pullSecrets }}
imagePullSecrets:
{{- range .Values.image.pullSecrets }}
- name: {{ . }}
{{- end }}
{{- end }}
containers:
- name: {{ .Chart.Name }}
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
imagePullPolicy: {{ .Values.image.pullPolicy }}
ports:
- name: micronaut-port
containerPort: {{ .Values.appPort }}
livenessProbe:
{{ toYaml .Values.livenessProbe | indent 12 }}
readinessProbe:
{{ toYaml .Values.readinessProbe | indent 12 }}
resources:
{{- toYaml .Values.resources | nindent 12 }}
env:
- name: APP_SERVER_PORT
value: {{ .Values.appPort | quote}}
# K8s config
- name: K8S_NAMESPACE
value: {{ .Release.Namespace | quote }}
# Kafka config
- name: KAFKA_BOOTSTRAP_SERVERS
value: {{ .Values.config.loadGenerationPods.kafka.bootstrapServers | quote }}
- name: KAFKA_SECURITY_ENABLED
value: {{ .Values.config.loadGenerationPods.kafka.acl.enabled | quote }}
{{- if .Values.config.loadGenerationPods.kafka.acl.enabled }}
- name: KAFKA_SECURITY_PROTOCOL_CONFIG
value: {{ .Values.config.loadGenerationPods.kafka.acl.protocol | quote }}
- name: KAFKA_SASL_MECHANISM
value: {{ .Values.config.loadGenerationPods.kafka.sasl.mechanism | quote }}
- name: KAFKA_SASL_JAAS_CONFIG
value: {{ .Values.config.loadGenerationPods.kafka.sasl.jaas.config | quote }}
- name: KAFKA_USERNAME
valueFrom:
secretKeyRef:
name: {{ .Values.config.loadGenerationPods.kafka.locustK8sKafkaUser.userName }}
key: {{ .Values.config.loadGenerationPods.kafka.acl.secret.userKey }}
- name: KAFKA_PASSWORD
valueFrom:
secretKeyRef:
name: {{ .Values.config.loadGenerationPods.kafka.locustK8sKafkaUser.userName }}
key: {{ .Values.config.loadGenerationPods.kafka.acl.secret.passwordKey }}
{{- end }}
# Load generation job config
- name: JOB_TTL_SECONDS_AFTER_FINISHED
value: {{ .Values.config.loadGenerationJobs.ttlSecondsAfterFinished | quote }}
# Load generation resource config
- name: POD_CPU_REQUEST
value: {{ .Values.config.loadGenerationPods.resource.cpuRequest | quote }}
- name: POD_MEM_REQUEST
value: {{ .Values.config.loadGenerationPods.resource.memRequest | quote }}
- name: POD_EPHEMERAL_REQUEST
value: {{ .Values.config.loadGenerationPods.resource.ephemeralRequest | quote }}
- name: POD_CPU_LIMIT
value: {{ .Values.config.loadGenerationPods.resource.cpuLimit | quote }}
- name: POD_MEM_LIMIT
value: {{ .Values.config.loadGenerationPods.resource.memLimit | quote }}
- name: POD_EPHEMERAL_LIMIT
value: {{ .Values.config.loadGenerationPods.resource.ephemeralLimit | quote }}
- name: ENABLE_AFFINITY_CR_INJECTION
value: {{ .Values.config.loadGenerationPods.affinity.enableCrInjection | quote }}
- name: ENABLE_TAINT_TOLERATIONS_CR_INJECTION
value: {{ .Values.config.loadGenerationPods.taintTolerations.enableCrInjection | quote }}
# Metrics Exporter config
- name: METRICS_EXPORTER_IMAGE
value: {{ .Values.config.loadGenerationPods.metricsExporter.image | quote }}
- name: METRICS_EXPORTER_PORT
value: {{ .Values.config.loadGenerationPods.metricsExporter.port | quote }}
- name: METRICS_EXPORTER_IMAGE_PULL_POLICY
value: "{{ .Values.config.loadGenerationPods.metricsExporter.pullPolicy | default .Values.image.pullPolicy }}"
- name: METRICS_EXPORTER_CPU_REQUEST
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.cpuRequest | quote }}
- name: METRICS_EXPORTER_MEM_REQUEST
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.memRequest | quote }}
- name: METRICS_EXPORTER_EPHEMERAL_REQUEST
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.ephemeralRequest | quote }}
- name: METRICS_EXPORTER_CPU_LIMIT
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.cpuLimit | quote }}
- name: METRICS_EXPORTER_MEM_LIMIT
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.memLimit | quote }}
- name: METRICS_EXPORTER_EPHEMERAL_LIMIT
value: {{ .Values.config.loadGenerationPods.metricsExporter.resource.ephemeralLimit | quote }}
# Metric config
- name: METRICS_ENABLE
value: {{ .Values.micronaut.metrics.enabled | quote }}
{{- if .Values.micronaut.metrics.enabled | quote }}
- name: METRICS_WEB_ENABLE
value: {{ .Values.micronaut.metrics.web.enabled | quote }}
- name: METRICS_JVM_ENABLE
value: {{ .Values.micronaut.metrics.jvm.enabled | quote }}
- name: METRICS_UPTIME_ENABLE
value: {{ .Values.micronaut.metrics.uptime.enabled | quote }}
- name: METRICS_PROCESSOR_ENABLE
value: {{ .Values.micronaut.metrics.processor.enabled | quote }}
- name: METRICS_FILES_ENABLE
value: {{ .Values.micronaut.metrics.files.enabled | quote }}
- name: METRICS_LOGBACK_ENABLE
value: {{ .Values.micronaut.metrics.logback.enabled | quote }}
- name: METRICS_EXECUTOR_ENABLE
value: {{ .Values.micronaut.metrics.executor.enabled | quote }}
- name: METRICS_PROMETHEUS_STEP
value: {{ .Values.micronaut.metrics.export.prometheus.step | quote }}
{{- end }}
{{- if .Values.environmentVariables }}
{{- range $key, $value := .Values.environmentVariables }}
- name: {{ $key }}
value: {{ $value | quote }}
{{- end }}
{{- end }}
{{- with .Values.nodeSelector }}
nodeSelector:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.affinity }}
affinity:
{{- toYaml . | nindent 8 }}
{{- end }}
{{- with .Values.tolerations }}
tolerations:
{{- toYaml . | nindent 8 }}
{{- end }}