Skip to content

Latest commit

 

History

History
85 lines (59 loc) · 2.11 KB

dev.md

File metadata and controls

85 lines (59 loc) · 2.11 KB

How to start with Mako

This document describes how to start running writing benchmarks with mako on GKE.

Preconditions

  • Assume cluster exists with istio lean and serving installed.
  • ko is installed
  • gcloud is installed

Steps

Take dataplane-probe benchmark for example:

  1. Apply mako config

    kubectl apply -f test/performance/config/config-mako.yaml
  2. Create an IAM service account:

    gcloud iam service-accounts create mako-upload
  3. Add the IAM service account here (A current owner must apply this before things will work and the SA must be whitelisted) then run:

    mako update_benchmark test/performance/benchmarks/dataplane-probe/dev.config
  4. Create a JSON key for it.

    gcloud iam service-accounts keys create robot.json \
      --iam-account=mako-upload@${PROJECT_ID}.iam.gserviceaccount.com
  5. Create a secret with it:

    kubectl create secret generic mako-secrets --from-file=./robot.json
  6. Patch istio:

    kubectl patch hpa -n istio-system istio-ingressgateway \
      --patch '{"spec": {"minReplicas": 10, "maxReplicas": 10}}'
    kubectl patch deploy -n istio-system cluster-local-gateway \
      --patch '{"spec": {"replicas": 10}}'
  7. Patch knative:

    kubectl patch hpa -n knative-serving activator --patch '{"spec": {"minReplicas": 10}}'
  8. Apply setup for benchmark:

    ko apply -f test/performance/benchmarks/dataplane-probe/continuous/dataplane-probe-setup.yaml
  9. Wait for above to stabilize

  10. Attach your desired tags to the runs by editing the config map, see the _example stanza for how.

    kubectl edit cm config-mako
  11. Apply the benchmark cron:

    ko apply -f test/performance/benchmarks/dataplane-probe/continuous/dataplane-probe.yaml