Skip to content

Instantly share code, notes, and snippets.

@garyellis
Last active February 22, 2019 21:49
Show Gist options
  • Save garyellis/8b9f83d22b75db305c4be08bcd0dc55e to your computer and use it in GitHub Desktop.
Save garyellis/8b9f83d22b75db305c4be08bcd0dc55e to your computer and use it in GitHub Desktop.
basic stress test rancher ui project pod retrieval
---
apiVersion: v1
kind: ServiceAccount
metadata:
name: jobseeder
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
name: jobseeder
rules:
- apiGroups:
- batch
- extensions
resources:
- jobs
verbs:
- '*'
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- persistentvolumeclaims
- events
- configmaps
- secrets
verbs:
- '*'
- apiGroups:
- ""
resources:
- namespaces
verbs:
- get
- apiGroups:
- apps
resources:
- deployments
- daemonsets
- replicasets
- statefulsets
verbs:
- '*'
---
kind: RoleBinding
apiVersion: rbac.authorization.k8s.io/v1
metadata:
name: jobseeder
subjects:
- kind: ServiceAccount
name: jobseeder
roleRef:
kind: Role
name: jobseeder
apiGroup: rbac.authorization.k8s.io
---
apiVersion: v1
kind: ConfigMap
metadata:
name: jobseeder
labels:
app: jobseeder
data:
seed.sh: |
#!/bin/bash
START=${START:-1}
END=${END:-1000}
JOB_NAME_PREFIX=${JOB_NAME_PREFIX:job-${HOSTNAME}}
function kubectl_apply_job() {
cat << EOF | kubectl apply -f -
---
apiVersion: batch/v1
kind: Job
metadata:
name: $1
labels:
app: jobseeder
spec:
template:
spec:
containers:
- name: $1
image: ubuntu:xenial
command: ["echo", "job $1"]
restartPolicy: Never
backoffLimit: 3
EOF
}
for i in $(eval echo "{$START..$END}"); do
kubectl_apply_job ${JOB_NAME_PREFIX}-job-${i}
done
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: jobseeder
spec:
replicas: 5
selector:
matchLabels:
name: jobseeder
template:
metadata:
labels:
name: jobseeder
app: jobseeder
spec:
serviceAccountName: jobseeder
containers:
- name: jobs-creator
image: k8s.gcr.io/hyperkube:v1.11.6
command: ["/scripts/seed.sh"]
imagePullPolicy: Always
volumeMounts:
- name: scripts
mountPath: /scripts/seed.sh
subPath: seed.sh
env:
- name: START
value: "1"
- name: END
value: "1000"
- name: JOB_NAME_PREFIX
valueFrom:
fieldRef:
fieldPath: metadata.name
volumes:
- name: scripts
configMap:
name: jobseeder
defaultMode: 0744
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment