Skip to content

Commit

Permalink
Ensure Pods use different nodes if available
Browse files Browse the repository at this point in the history
We want to spread the nodes out as much as possible...
  • Loading branch information
mulbc committed Jun 16, 2020
1 parent 867cfc6 commit 07714bf
Show file tree
Hide file tree
Showing 2 changed files with 77 additions and 21 deletions.
50 changes: 43 additions & 7 deletions k8s/gosbench.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,28 @@ metadata:
name: gosbench-worker1
labels:
app: gosbench-worker1
stack: gosbench
type: worker
spec:
template:
metadata:
labels:
app: gosbench
app: gosbench-worker
stack: gosbench
type: worker
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 10
podAffinityTerm:
labelSelector:
matchExpressions:
- key: type
operator: In
values:
- worker
topologyKey: kubernetes.io/hostname
containers:
- name: gosbench-worker
image: quay.io/mulbc/gosbench-worker
Expand All @@ -128,12 +144,28 @@ metadata:
name: gosbench-worker2
labels:
app: gosbench-worker2
stack: gosbench
type: worker
spec:
template:
metadata:
labels:
app: gosbench
app: gosbench-worker
stack: gosbench
type: worker
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 10
podAffinityTerm:
labelSelector:
matchExpressions:
- key: type
operator: In
values:
- worker
topologyKey: kubernetes.io/hostname
containers:
- name: gosbench-worker
image: quay.io/mulbc/gosbench-worker
Expand All @@ -148,16 +180,20 @@ kind: Deployment
metadata:
name: gosbench-server
labels:
app: gosbench
app: gosbench-server
stack: gosbench
type: server
spec:
replicas: 1
selector:
matchLabels:
app: gosbench
app: gosbench-server
template:
metadata:
labels:
app: gosbench
app: gosbench-server
stack: gosbench
type: server
spec:
containers:
- name: server
Expand All @@ -179,14 +215,14 @@ kind: Service
metadata:
name: gosbench-server
labels:
app: gosbench
app: gosbench-server
spec:
type: NodePort
ports:
- port: 2000
targetPort: 2000
selector:
app: gosbench
app: gosbench-server
---
apiVersion: v1
kind: Service
Expand Down
48 changes: 34 additions & 14 deletions k8s/gosbench_template.yaml.j2
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,8 @@ data:
- name: EverythingWorks
read_weight: 20
write_weight: 80
delete_weight: 0
list_weight: 0
delete_weight: 30
list_weight: 10
objects:
size_min: 5
size_max: 100
Expand Down Expand Up @@ -59,12 +59,12 @@ data:
# Number of requests processed in parallel by each worker
parallel_clients: 3
# Remove all generated buckets and its content after run
clean_after: True
clean_after: False
- name: EverythingWorksAgain
read_weight: 20
write_weight: 80
delete_weight: 0
list_weight: 0
read_weight: 10
write_weight: 40
delete_weight: 80
list_weight: 10
objects:
size_min: 5
size_max: 100
Expand Down Expand Up @@ -98,7 +98,7 @@ data:
# Number of requests processed in parallel by each worker
parallel_clients: 3
# Remove all generated buckets and its content after run
clean_after: True
clean_after: False
metadata:
name: gosbench-config
labels:
Expand All @@ -109,16 +109,20 @@ kind: Deployment
metadata:
name: gosbench-server
labels:
app: gosbench
app: gosbench-server
stack: gosbench
type: server
spec:
replicas: 1
selector:
matchLabels:
app: gosbench
app: gosbench-server
template:
metadata:
labels:
app: gosbench
app: gosbench-server
stack: gosbench
type: server
spec:
containers:
- name: server
Expand All @@ -140,14 +144,14 @@ kind: Service
metadata:
name: gosbench-server
labels:
app: gosbench
app: gosbench-server
spec:
type: NodePort
ports:
- port: 2000
targetPort: 2000
selector:
app: gosbench
app: gosbench-server
{% for worker in range(NUMWORKERS | int) %}
---
apiVersion: batch/v1
Expand All @@ -156,12 +160,28 @@ metadata:
name: gosbench-worker{{ worker+1 }}
labels:
app: gosbench-worker{{ worker+1 }}
stack: gosbench
type: worker
spec:
template:
metadata:
labels:
app: gosbench
app: gosbench-worker
stack: gosbench
type: worker
spec:
affinity:
podAntiAffinity:
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 10
podAffinityTerm:
labelSelector:
matchExpressions:
- key: type
operator: In
values:
- worker
topologyKey: kubernetes.io/hostname
containers:
- name: gosbench-worker
image: quay.io/mulbc/gosbench-worker
Expand Down

0 comments on commit 07714bf

Please sign in to comment.