<iframe width="560" height="315" src="https://www.youtube.com/embed/IJ0uQgn7gI8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe> ## Guests - Hans Knecht ## Thumbnail ![[kOH34 - Hans Knecht.png]] ## Topics - [x] Intro to Hans Knecht - [x] What do you do? Where do you work? - [x] How did you get started with k6? - [x] Why do you choose to use k6? - [x] What is the k6 operator? What is your use case for it? - [x] k6 OSS can already generate a significant amount of load (up to 40,000 users). Why would you need to consider distributed load testing? - [x] Larger tests: The up to 40,000 user figure is based on a very simple script and could vary significantly for complex scripts/applications. - [x] Need for traffic generated from different regions - [x] k6 Cloud already provides distributed load testing on the cloud. Why use k6 operator? - [x] k6 Cloud is not free - [x] More control over infrastructure - [x] Improved data security - [x] Works well with Kubernetes: YAML file for your load test, just like other resources - [x] You already have access to nodes you could use as load generators - [x] The SUT is not publicly accessible - [x] You want to specify your own images of k6, which can include extensions - something not currently possible with k6 Cloud - [x] How does it work? - [x] What is a Kubernetes Operator? - [x] k6 custom resource object - [x] Demo (?) - [x] Limitations of k6 operator - [x] Kubernetes only - [x] Requires a more technical setup than the k6 Cloud solution - [x] Metrics not automatically collated and aggregated - [x] Thresholds not evaluated at runtime - [x] Leaves monitoring load generator health to you - Geographical zone selection is difficult - [x] It's not strictly "distributed"; you can choose how many scripts run in parallel per machine, but the instances of k6 don't know about each other. - [x] It doesn't work well with k6 Cloud - you can't do `-o cloud` - What would you like k6 operator to do in the future? - What's one tip, tool, or technique that helps you do your job? - ObservabilityCon ## Timestamps ## References k6 operator: https://github.com/grafana/k6-operator Running distributed k6 tests on Kubernetes: https://k6.io/blog/running-distributed-tests-on-k8s/ Previous k6 Office Hours on the Operator: https://www.youtube.com/watch?v=KPyI8rM3LvE ObservabilityCon 2021: https://grafana.com/about/events/observabilitycon/2021/