chore: ♻️ single manifest file for the hotrod (#639)

Signed-off-by: Prashant Shahi <prashant@signoz.io>
This commit is contained in:
Prashant Shahi 2022-01-25 12:29:55 +05:30 committed by GitHub
parent 8059fe14da
commit 40f9a4a5aa
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
8 changed files with 223 additions and 200 deletions

View File

@ -1,29 +0,0 @@
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://otel-collector.platform.svc.cluster.local:14268/api/traces
image: jaegertracing/example-hotrod:latest
imagePullPolicy: IfNotPresent
name: hotrod
ports:
- containerPort: 8080
restartPolicy: Always

View File

@ -1,7 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: locust-cm
data:
# ATTACKED_HOST: http://locust-master:8089
ATTACKED_HOST: http://hotrod:8080

View File

@ -1,59 +0,0 @@
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: grubykarol/locust:0.8.1-py3.6
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
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: locust-scripts
configMap:
name: scripts-cm

View File

@ -1,23 +0,0 @@
apiVersion: v1
kind: ConfigMap
metadata:
name: scripts-cm
data:
locustfile.py: |
from locust import HttpLocust, TaskSet, task
class UserTasks(TaskSet):
@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")
class WebsiteUser(HttpLocust):
task_set = UserTasks

View File

@ -1,17 +0,0 @@
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

View File

@ -1,52 +0,0 @@
apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
deployment.kubernetes.io/revision: "1"
labels:
role: locust-slave
name: locust-slave
spec:
replicas: 1
selector:
matchLabels:
role: locust-slave
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
role: locust-slave
spec:
containers:
- image: grubykarol/locust:0.8.1-py3.6
imagePullPolicy: IfNotPresent
name: locust-slave
env:
- name: ATTACKED_HOST
valueFrom:
configMapKeyRef:
name: locust-cm
key: ATTACKED_HOST
- name: LOCUST_MODE
value: SLAVE
- name: LOCUST_MASTER
value: locust-master
volumeMounts:
- mountPath: /locust
name: locust-scripts
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: locust-scripts
configMap:
name: scripts-cm

View File

@ -0,0 +1,223 @@
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 HttpLocust, TaskSet, task
class UserTasks(TaskSet):
@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")
class WebsiteUser(HttpLocust):
task_set = UserTasks
---
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://otel-collector.platform.svc.cluster.local:14268/api/traces
image: jaegertracing/example-hotrod:1.30
imagePullPolicy: IfNotPresent
name: hotrod
ports:
- containerPort: 8080
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 200m
memory: 200Mi
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: grubykarol/locust:0.8.1-py3.6
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
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 200m
memory: 200Mi
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-slave
name: locust-slave
spec:
replicas: 1
selector:
matchLabels:
role: locust-slave
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 1
type: RollingUpdate
template:
metadata:
labels:
role: locust-slave
spec:
containers:
- image: grubykarol/locust:0.8.1-py3.6
imagePullPolicy: IfNotPresent
name: locust-slave
env:
- name: ATTACKED_HOST
valueFrom:
configMapKeyRef:
name: locust-cm
key: ATTACKED_HOST
- name: LOCUST_MODE
value: SLAVE
- name: LOCUST_MASTER
value: locust-master
volumeMounts:
- mountPath: /locust
name: locust-scripts
resources:
requests:
cpu: 100m
memory: 100Mi
limits:
cpu: 200m
memory: 200Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
volumes:
- name: locust-scripts
configMap:
name: scripts-cm

View File

@ -1,13 +0,0 @@
apiVersion: v1
kind: Service
metadata:
labels:
service: hotrod
name: hotrod
spec:
ports:
- name: "8080"
port: 8080
targetPort: 8080
selector:
service: hotrod