Demoing Knative Serving and Eventing using Demo-Magic-Scripts
This article has been in my backlog for far too long, even though it’s only a short introduction on two scripts I created to support me/you when demoing/presenting on Knative. Basically, I could stop here and just provide you the link to the repository on but…it would be wrong to leave you without any context.
Also, maybe it’s just right to publish the article now, as #KubeCon 2022 Europe starts tomorrow (May, 16th) in beautiful Valencia and with it, the first #KnativeCon 🤩
I’m so excited about it and so happy for the project and community too.
What’s Knative Again?
Knative is the most popular platform to run serverless workload on Kubernetes. Knative’s two building blocks Serving 1 and Eventing 2 are providing a rich set of features in order to support you in running your serverless workload as well as to build Event-Driven Architectures (EDA). Implementation details like e.g. the Knative Pod Autoscaler 3 (classified as reactive Pod Autoscaler) making it possible to scale your workload from n to 0(!) and vice versa.
Also, features as Revisions 4 and Routes 5 making deployment models like Blue/Green, Canary and Progressive possible and thus providing greater flexibility in shipping your code to production. When you get to know Knative better, you’ll certainly agree to Ahmet’s tweet:
🤔 What if Knative was marketed as “the missing serving layer for Kubernetes”:
— ahmetb (@ahmetb) February 4, 2021
• same Pod spec as k8s
• autoscale based on requests
• no need to write HPA
• scale to zero, 0→N
• req buffering during scale up
• builtin L7 ingress
• auto HTTP metrics
• auto subdomains/TLS
My Knative Story
With regards to the VMware open-source project VMware Event Broker Appliance (short VEBA), we first started supporting Knative as an external event-processor, but fully implementing and making it as default, was just a matter of time. In 2021, the time had come.
This was a very important step forward for the project itself, not only because it gave us many more possibilities in eventing but also in reporting all the gathered feedback internally and externally (community). Michael Gasch, one of the maintainer of project VEBA and a great thoughtleader in this specific area of technology, wrote an awesome article on Knative which is called A response to “Did we market Knative wrong?” where he’s providing his insights on the projects evolvement and also on the initial adoption challenges for project VEBA itself.
Like the title of Michael’s post is telling, this was his answer to the post “Did we market Knative wrong?” by Ahmet Alp Balkan, a great member of the Knative community. I’d like to recommend you reading both articles if you got hooked on the project(s).
Enough prolouge! In order to support evangelizing both projects, Knative as well as VEBA, I needed something which supports me in talking and spreading my excitment on the two projects.
I’ve created two demo-scripts which will install Knative’s core-components for both building blocks, the needed Channel 6 and Broker 7 as well the VEBA Event-Router 8 plus an example function 9. Everything will be installed to an existing Kubernetes installation. But don’t think about it as a classical installation-script (execute -> finish)!
The idea is basically, you execute one of the scripts and it’ll start typing the first command for you and stops until you execute. Therefore, you can keep focus on your presentation and continue when you are ready.
I used the handy demo-magic.sh shell script which repository can be found on as well.
Scripts on
👉 Demo-Magic scripts to install and demo Knative’s Serving and Eventing
Demo-Script-Recording Serving
Demo-Script-Recording Eventing
🎥 VMware {code} Session CODE2762
You can also see both scripts in action in my VMworld {code} Session #CODE2762 recording.