Skip to content

Instantly share code, notes, and snippets.

@olix0r
Created February 6, 2018 23:17
Show Gist options
  • Select an option

  • Save olix0r/228aba4420570533f278db9b849e5869 to your computer and use it in GitHub Desktop.

Select an option

Save olix0r/228aba4420570533f278db9b849e5869 to your computer and use it in GitHub Desktop.
# Examples:
#
# # Deploy everything
# :; target/cli/conduit-latest-macos inject config/strest.yml \
# | kubectl apply -f - --prune -l 'app=strest'
#
# # Add server instances
# :; kubectl -n strest scale -l 'strest-role=server' --replicas=3
#
# # Stop a specific test
# :; kubectl -n strest delete deploy -l 'strest-profile=large-payload'
# XXX currently things must be run in a fixed namespace until service discovery is fixed.
---
kind: Namespace
apiVersion: v1
metadata:
name: strest
labels:
app: strest
# target.strest.svc.cluster.local receives all strest traffic.
---
kind: Service
apiVersion: v1
metadata:
name: target
namespace: strest
labels:
app: strest
strest-role: server
spec:
type: ClusterIP
selector:
app: strest
strest-role: server
ports:
- name: strest-grpc
port: 8888
targetPort: 8888
# Headless admin service for optional prometheus collection.
---
kind: Service
apiVersion: v1
metadata:
name: admin
namespace: strest
labels:
app: strest
spec:
type: ClusterIP
clusterIP: None
selector:
app: strest
ports:
- name: admin-http
port: 9999
targetPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-server
namespace: strest
labels:
app: strest
strest-role: server
spec:
replicas: 3
template:
metadata:
labels:
app: strest
strest-role: server
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-server"]
args: ["-address=:8888", "-metricAddr=:9999"]
ports:
- name: strest-grpc
containerPort: 8888
- name: admin-http
containerPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-low-rps
namespace: strest
labels:
app: strest
strest-profile: low-rps
strest-role: client
spec:
replicas: 1
template:
metadata:
labels:
app: strest
strest-profile: low-rps
strest-role: client
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-client"]
args: [
"-address", "target.strest.svc.cluster.local:8888",
"-latencyUnit", "ms",
"-streams", "1",
"-totalTargetRps", "1",
"-latencyPercentiles", "100=0",
"-lengthPercentiles", "100=0",
"-metricAddr", ":9999"]
ports:
- name: admin-http
containerPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-high-concurrency
namespace: strest
labels:
app: strest
strest-profile: high-concurrency
strest-role: client
spec:
replicas: 10
template:
metadata:
labels:
app: strest
strest-profile: high-concurrency
strest-role: client
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-client"]
args: [
"-address", "target.strest.svc.cluster.local:8888",
"-latencyUnit", "ms",
"-streams", "100",
"-latencyPercentiles", "100=0",
"-lengthPercentiles", "100=0",
"-metricAddr", ":9999"]
ports:
- name: admin-http
containerPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-errors
namespace: strest
labels:
app: strest
strest-profile: errors
strest-role: client
spec:
replicas: 1
template:
metadata:
labels:
app: strest
strest-profile: errors
strest-role: client
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-client"]
args: [
"-address", "target.strest.svc.cluster.local:8888",
"-latencyUnit", "ms",
"-streams", "4",
"-errorRate", "0.02",
"-latencyPercentiles", "100=0",
"-lengthPercentiles", "100=0",
"-metricAddr", ":9999"]
ports:
- name: admin-http
containerPort: 9999
# ---
# kind: Deployment
# apiVersion: extensions/v1beta1
# metadata:
# name: strest-connection-concurrency
# namespace: strest
# labels:
# app: strest
# strest-profile: connection-concurrency
# strest-role: client
# spec:
# replicas: 100
# template:
# metadata:
# labels:
# app: strest
# strest-profile: connection-concurrency
# strest-role: client
# spec:
# containers:
# - name: main
# image: buoyantio/strest-grpc:0.0.3
# imagePullPolicy: IfNotPresent
# command: ["/go/bin/strest-client"]
# args: [
# "-address", "target.strest.svc.cluster.local:8888",
# "-latencyUnit", "ms",
# "-streams", "1",
# "-latencyPercentiles", "100=0",
# "-lengthPercentiles", "100=0",
# "-metricAddr", ":9999"]
# ports:
# - name: admin-http
# containerPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-large-payload
namespace: strest
labels:
app: strest
strest-profile: large-payload
strest-role: client
spec:
replicas: 1
template:
metadata:
labels:
app: strest
strest-profile: large-payload
strest-role: client
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-client"]
args: [
"-address", "target.strest.svc.cluster.local:8888",
"-latencyUnit", "ms",
"-streams", "4",
"-latencyPercentiles", "100=0",
"-lengthPercentiles", "50=65536,90=1048576",
"-metricAddr", ":9999"]
ports:
- name: admin-http
containerPort: 9999
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
name: strest-variable-latency
namespace: strest
labels:
app: strest
strest-profile: variable-latency
strest-role: client
spec:
replicas: 1
template:
metadata:
labels:
app: strest
strest-profile: variable-latency
strest-role: client
spec:
containers:
- name: main
image: buoyantio/strest-grpc:0.0.3
imagePullPolicy: IfNotPresent
command: ["/go/bin/strest-client"]
args: [
"-address", "target.strest.svc.cluster.local:8888",
"-latencyUnit", "ms",
"-streams", "4",
"-latencyPercentiles", "50=20,75=100,90=300,95=1000,99=6000",
"-lengthPercentiles", "100=0",
"-metricAddr", ":9999"]
ports:
- name: admin-http
containerPort: 9999
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment