Cloud Native Islamabad - Getting Closer to Continuous Delivery with Knative
1. Closer to Continuous
Delivery with Knative
Cloud Native Islamabad 9th September 2021
Mauricio Salatino | Staff Engineer | VMware
2. @Salaboy
● Staff Engineer @VMware working
100% on @KnativeProject OSS
● Kubernetes-Addict
● I enjoy building frameworks and
abstractions
● I do share my learnings in twitter and
http://salaboy.com
6. Cloud Native Workflow
● From Code to running in
Kubernetes
○ CI/CD for Kubernetes
■ Jenkins
■ Tekton
○ GitOps Approach
■ Jenkins X
■ Argo CD
● None of these tools will
helps us architecting our
services
7. Day 2
● Kubernetes is too low-level
● What happen next?
How do we:
○ Iterate faster
○ Tackle the challenges of
Distributed applications
○ Make changes and keep
delivering features
9. What is Knative?
● A set of abstractions on top of Kubernetes
Resources
● Best Practices and Architectural patterns
applied so we can concentrate on what
matters for our business
● For me it is an enabler for Continuous
Delivery
● Two main components/modules:
○ Serving
○ Eventing
10. How do I get Started?
● For Local Dev: (KonK)
curl -sL install.konk.dev | bash
● Install Knative Serving and Eventing +
Networking Layer
● Install Knative in your existing Kubernetes
Cluster
● https://github.com/learnk8s/free-kubernetes
11. Routing traffic made simple
● Traffic Splitting
Auto Scaling (Serverless.. kinda)
● Up and down based on load, it
provides its own autoscaler
Allow us to run multiple versions
(“revisions) at the same time
● A/B testing
● Canary Release
Knative Serving
14. Knative Svc
Github
Source
Kafka Source
K8s Service
Knative Svc Addressable
Event Producers
Event Consumers
Broker
Trigger Trigger Trigger
Abstractions to define event producers
and event consumers
Cloud Events are used to standardize
how events data is shared and routed
between components.
Event Sources (Source) produce Cloud
Events
Event Consumers consume events.
Knative Services can be consumers, as
we all Addressable services such as
Kubernetes Native Services
Brokers and Triggers allows us to route
events and subscribe to these events so
they can be routed accordingly
Knative Eventing