Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save thapakazi/ac9ea81132f87c9d8b3362b2065f3a0f to your computer and use it in GitHub Desktop.
Save thapakazi/ac9ea81132f87c9d8b3362b2065f3a0f to your computer and use it in GitHub Desktop.

flood on the server with 100s or request with vegeta

echo "GET http://10.110.132.62:2048/hostname"| vegeta attack -rate=100/s  -duration=1m |tee results.bin |  vegeta encode

watch changes on all pods

watch -d -n 0.01 'kubectl get po  -o wide'   

check on logs; infinitely

while true; do kubectl logs -l run=api -f --max-log-requests=8; done   

infinite loop so kubectl logs never chokes on failures if any :)

kubectl apply -f deployment_api.yml

where $ cat deployment_api.yml

apiVersion: extensions/v1beta1
kind: Deployment
metadata:
  annotations:
    deployment.kubernetes.io/revision: "1"
  creationTimestamp: null
  generation: 1
  labels:
    run: api
  name: api
  selfLink: /apis/extensions/v1beta1/namespaces/default/deployments/api
spec:
  progressDeadlineSeconds: 600
  replicas: 8
  revisionHistoryLimit: 10
  selector:
    matchLabels:
      run: api
  strategy:
    rollingUpdate:
      maxSurge: 25%
      maxUnavailable: 25%
    type: RollingUpdate
  template:
    metadata:
      creationTimestamp: null
      labels:
        run: api
    spec:
      containers:
      - env:
        - name: PORT
          value: "2048"
        image: thapakazi/api-hostname:latest
        imagePullPolicy: Always
        name: api
        ports:
        - containerPort: 2048
          protocol: TCP
        resources: {}
        terminationMessagePath: /dev/termination-log
        terminationMessagePolicy: File
      dnsPolicy: ClusterFirst
      restartPolicy: Always
      schedulerName: default-scheduler
      securityContext: {}
      terminationGracePeriodSeconds: 30
status: {}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment