Skip to content

Commit 0420ec2

Browse files
committed
improved K8sDemo
1 parent 508e004 commit 0420ec2

File tree

5 files changed

+127
-16
lines changed

5 files changed

+127
-16
lines changed

examples/K8sDemo/K8sDemo.csproj

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,7 @@
1818

1919
<ItemGroup>
2020
<PackageReference Include="NBomber" Version="6.1.1" />
21+
<PackageReference Include="NBomber.Http" Version="6.1.0" />
2122
</ItemGroup>
2223

2324
</Project>

examples/K8sDemo/Program.cs

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,15 @@
11
using NBomber.CSharp;
2+
using NBomber.Http.CSharp;
3+
4+
var httpClient = Http.CreateDefaultClient();
25

36
var scenario = Scenario.Create("my_scenario", async context =>
47
{
5-
await Task.Delay(500);
8+
var request = Http.CreateRequest("GET", "https://catfact.ninja/facts");
9+
10+
var response = await Http.Send(httpClient, request);
611

7-
return Response.Ok();
12+
return response;
813
});
914

1015
NBomberRunner

examples/K8sDemo/my-test-1.yaml renamed to examples/K8sDemo/k8sdemo-cluster.yaml

Lines changed: 33 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,36 @@
11
apiVersion: v1
2+
kind: PersistentVolumeClaim
3+
metadata:
4+
name: k8sdemo-pvc
5+
namespace: nbomber-tests
6+
spec:
7+
accessModes:
8+
- ReadWriteOnce
9+
resources:
10+
requests:
11+
storage: 100Mi
12+
13+
---
14+
15+
apiVersion: v1
216
kind: ConfigMap
317
metadata:
4-
name: nb-config-my-test-1
18+
name: k8sdemo-config
519
namespace: nbomber-tests
620
data:
721
nb-config.json: |
822
{
9-
"TestSuite": "my test suite",
10-
"TestName": "my-test-1",
23+
"TestSuite": "my-test-suite",
24+
"TestName": "k8sdemo",
1125
"ClusterSettings": {
1226
1327
"AutoCluster": {
1428
15-
"ClusterId": "test_cluster",
16-
"NATSServerURL": "nats://nats-my-test-1",
29+
"ClusterId": "k8sdemo",
30+
"NATSServerURL": "nats://k8sdemo-nats",
1731
1832
"Coordinator": {
19-
"TargetScenarios": []
33+
"TargetScenarios": ["my_scenario"]
2034
},
2135
2236
"Agent": {
@@ -34,7 +48,7 @@ data:
3448
"WarmUpDuration": "00:00:03",
3549
3650
"LoadSimulationsSettings": [
37-
{ "Inject": [10, "00:00:01", "00:00:20"] }
51+
{ "Inject": [5, "00:00:01", "00:00:20"] }
3852
]
3953
}
4054
],
@@ -49,7 +63,7 @@ data:
4963
apiVersion: batch/v1
5064
kind: Job
5165
metadata:
52-
name: k8sdemo-job-my-test-1
66+
name: k8sdemo-job
5367
namespace: nbomber-tests
5468
spec:
5569
completions: 2 # total number of pods that should run to completion
@@ -58,28 +72,33 @@ spec:
5872
spec:
5973
containers:
6074
- name: k8sdemo
61-
image: antyadev/k8sdemo:latest
75+
image: nbomberdocker/k8sdemo:latest
6276
args: ["--config", "/config/nb-config.json", "--cluster-local-dev", "true"]
6377
# args: ["--config", "/config/nb-config.json", "--license", "YOUR_LICENSE_KEY"]
6478
volumeMounts:
65-
- name: nb-config-volume
79+
- name: k8sdemo-config-volume
6680
mountPath: /config
6781
readOnly: true
82+
- name: k8sdemo-pvc-volume
83+
mountPath: /app/my_reports
6884

6985
restartPolicy: Never
7086

7187
volumes:
72-
- name: nb-config-volume
88+
- name: k8sdemo-config-volume
7389
configMap:
74-
name: nb-config-my-test-1
90+
name: k8sdemo-config
91+
- name: k8sdemo-pvc-volume
92+
persistentVolumeClaim:
93+
claimName: k8sdemo-pvc
7594

7695
---
7796

7897
apiVersion: apps/v1
7998
kind: Deployment
8099
metadata:
81100
namespace: nbomber-tests
82-
name: nats-my-test-1
101+
name: k8sdemo-nats
83102
labels:
84103
app: nats
85104
spec:
@@ -104,7 +123,7 @@ apiVersion: v1
104123
kind: Service
105124
metadata:
106125
namespace: nbomber-tests
107-
name: nats-my-test-1
126+
name: k8sdemo-nats
108127
labels:
109128
app: nats
110129
spec:
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: k8sdemo-reports-pod
5+
namespace: nbomber-tests
6+
spec:
7+
restartPolicy: Never
8+
terminationGracePeriodSeconds: 0
9+
containers:
10+
- name: collector
11+
image: busybox
12+
command: ["sleep", "3600"] # keeps the pod alive for copying
13+
volumeMounts:
14+
- name: k8sdemo-pvc-volume
15+
mountPath: /app/my_reports
16+
volumes:
17+
- name: k8sdemo-pvc-volume
18+
persistentVolumeClaim:
19+
claimName: k8sdemo-pvc
Lines changed: 67 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,67 @@
1+
apiVersion: v1
2+
kind: Pod
3+
metadata:
4+
name: k8sdemo-pod
5+
namespace: nbomber-tests
6+
spec:
7+
containers:
8+
- name: k8sdemo
9+
image: nbomberdocker/k8sdemo:latest
10+
args: ["--config", "/config/nb-config.json"]
11+
volumeMounts:
12+
- name: k8sdemo-config-volume
13+
mountPath: /config
14+
readOnly: true
15+
- name: k8sdemo-pvc-volume
16+
mountPath: /app/my_reports
17+
restartPolicy: Never
18+
volumes:
19+
- name: k8sdemo-config-volume
20+
configMap:
21+
name: k8sdemo-config
22+
- name: k8sdemo-pvc-volume
23+
persistentVolumeClaim:
24+
claimName: k8sdemo-pvc
25+
26+
---
27+
28+
apiVersion: v1
29+
kind: ConfigMap
30+
metadata:
31+
name: k8sdemo-config
32+
namespace: nbomber-tests
33+
data:
34+
nb-config.json: |
35+
{
36+
"TestSuite": "my-test-suite",
37+
"TestName": "k8sdemo-test",
38+
39+
"GlobalSettings": {
40+
"ScenariosSettings": [
41+
{
42+
"ScenarioName": "my_scenario",
43+
"WarmUpDuration": "00:00:03",
44+
"LoadSimulationsSettings": [
45+
{ "Inject": [5, "00:00:01", "00:00:20"] }
46+
]
47+
}
48+
],
49+
50+
"ReportFileName": "my_report_name",
51+
"ReportFolder": "my_reports"
52+
}
53+
}
54+
55+
---
56+
57+
apiVersion: v1
58+
kind: PersistentVolumeClaim
59+
metadata:
60+
name: k8sdemo-pvc
61+
namespace: nbomber-tests
62+
spec:
63+
accessModes:
64+
- ReadWriteOnce
65+
resources:
66+
requests:
67+
storage: 100Mi

0 commit comments

Comments
 (0)