203 lines
4.5 KiB
YAML
203 lines
4.5 KiB
YAML
|
apiVersion: v1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
name: locust-cm
|
||
|
data:
|
||
|
ATTACKED_HOST: http://hotrod:8080
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: ConfigMap
|
||
|
metadata:
|
||
|
name: scripts-cm
|
||
|
data:
|
||
|
locustfile.py: |
|
||
|
from locust import HttpUser, task, between
|
||
|
class UserTasks(HttpUser):
|
||
|
wait_time = between(5, 15)
|
||
|
|
||
|
@task
|
||
|
def rachel(self):
|
||
|
self.client.get("/dispatch?customer=123&nonse=0.6308392664170006")
|
||
|
@task
|
||
|
def trom(self):
|
||
|
self.client.get("/dispatch?customer=392&nonse=0.015296363321630757")
|
||
|
@task
|
||
|
def japanese(self):
|
||
|
self.client.get("/dispatch?customer=731&nonse=0.8022286220408668")
|
||
|
@task
|
||
|
def coffee(self):
|
||
|
self.client.get("/dispatch?customer=567&nonse=0.0022220379420636593")
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
labels:
|
||
|
service: hotrod
|
||
|
name: hotrod
|
||
|
spec:
|
||
|
replicas: 1
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
service: hotrod
|
||
|
strategy: {}
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
service: hotrod
|
||
|
spec:
|
||
|
containers:
|
||
|
- args:
|
||
|
- all
|
||
|
env:
|
||
|
- name: JAEGER_ENDPOINT
|
||
|
value: http://my-release-signoz-otel-collector.platform.svc.cluster.local:14268/api/traces
|
||
|
image: jaegertracing/example-hotrod:1.30
|
||
|
imagePullPolicy: IfNotPresent
|
||
|
name: hotrod
|
||
|
ports:
|
||
|
- containerPort: 8080
|
||
|
restartPolicy: Always
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: Service
|
||
|
metadata:
|
||
|
labels:
|
||
|
service: hotrod
|
||
|
name: hotrod
|
||
|
spec:
|
||
|
ports:
|
||
|
- name: "8080"
|
||
|
port: 8080
|
||
|
targetPort: 8080
|
||
|
selector:
|
||
|
service: hotrod
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
annotations:
|
||
|
deployment.kubernetes.io/revision: "1"
|
||
|
labels:
|
||
|
role: locust-master
|
||
|
name: locust-master
|
||
|
spec:
|
||
|
replicas: 1
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
role: locust-master
|
||
|
strategy:
|
||
|
rollingUpdate:
|
||
|
maxSurge: 1
|
||
|
maxUnavailable: 1
|
||
|
type: RollingUpdate
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
role: locust-master
|
||
|
spec:
|
||
|
containers:
|
||
|
- image: signoz/locust:1.2.3
|
||
|
imagePullPolicy: IfNotPresent
|
||
|
name: locust-master
|
||
|
env:
|
||
|
- name: ATTACKED_HOST
|
||
|
valueFrom:
|
||
|
configMapKeyRef:
|
||
|
name: locust-cm
|
||
|
key: ATTACKED_HOST
|
||
|
- name: LOCUST_MODE
|
||
|
value: MASTER
|
||
|
- name: LOCUST_OPTS
|
||
|
value: --print-stats
|
||
|
volumeMounts:
|
||
|
- mountPath: /locust
|
||
|
name: locust-scripts
|
||
|
ports:
|
||
|
- containerPort: 5557
|
||
|
name: comm
|
||
|
- containerPort: 5558
|
||
|
name: comm-plus-1
|
||
|
- containerPort: 8089
|
||
|
name: web-ui
|
||
|
terminationMessagePath: /dev/termination-log
|
||
|
terminationMessagePolicy: File
|
||
|
dnsPolicy: ClusterFirst
|
||
|
restartPolicy: Always
|
||
|
schedulerName: default-scheduler
|
||
|
securityContext: {}
|
||
|
terminationGracePeriodSeconds: 30
|
||
|
volumes:
|
||
|
- name: locust-scripts
|
||
|
configMap:
|
||
|
name: scripts-cm
|
||
|
---
|
||
|
apiVersion: v1
|
||
|
kind: Service
|
||
|
metadata:
|
||
|
labels:
|
||
|
role: locust-master
|
||
|
name: locust-master
|
||
|
spec:
|
||
|
ports:
|
||
|
- port: 5557
|
||
|
name: communication
|
||
|
- port: 5558
|
||
|
name: communication-plus-1
|
||
|
- port: 8089
|
||
|
targetPort: 8089
|
||
|
name: web-ui
|
||
|
selector:
|
||
|
role: locust-master
|
||
|
---
|
||
|
apiVersion: apps/v1
|
||
|
kind: Deployment
|
||
|
metadata:
|
||
|
annotations:
|
||
|
deployment.kubernetes.io/revision: "1"
|
||
|
labels:
|
||
|
role: locust-worker
|
||
|
name: locust-worker
|
||
|
spec:
|
||
|
replicas: 1
|
||
|
selector:
|
||
|
matchLabels:
|
||
|
role: locust-worker
|
||
|
strategy:
|
||
|
rollingUpdate:
|
||
|
maxSurge: 1
|
||
|
maxUnavailable: 1
|
||
|
type: RollingUpdate
|
||
|
template:
|
||
|
metadata:
|
||
|
labels:
|
||
|
role: locust-worker
|
||
|
spec:
|
||
|
containers:
|
||
|
- image: signoz/locust:1.2.3
|
||
|
imagePullPolicy: IfNotPresent
|
||
|
name: locust-worker
|
||
|
env:
|
||
|
- name: ATTACKED_HOST
|
||
|
valueFrom:
|
||
|
configMapKeyRef:
|
||
|
name: locust-cm
|
||
|
key: ATTACKED_HOST
|
||
|
- name: LOCUST_MODE
|
||
|
value: WORKER
|
||
|
- name: LOCUST_MASTER_HOST
|
||
|
value: locust-master
|
||
|
volumeMounts:
|
||
|
- mountPath: /locust
|
||
|
name: locust-scripts
|
||
|
terminationMessagePath: /dev/termination-log
|
||
|
terminationMessagePolicy: File
|
||
|
dnsPolicy: ClusterFirst
|
||
|
restartPolicy: Always
|
||
|
schedulerName: default-scheduler
|
||
|
securityContext: {}
|
||
|
terminationGracePeriodSeconds: 30
|
||
|
volumes:
|
||
|
- name: locust-scripts
|
||
|
configMap:
|
||
|
name: scripts-cm
|