1
Kubernetes Serverless
With Knative, Tekton
Burr Sutter (burrsutter.com)
@burrsutter - bit.ly/serverlesskube
http://bit.ly/knative-tutorial
@burrsutter - bit.ly/serverlesskube
http://www.fanpop.com/clubs/bruce-lee/images/27605335/title/way-
dragon-photo
http://gonewiththetwins.com/new/way-dragon-return-dragon-1972/
@burrsutter
Burr Sutter (burrsutter.com)
● Currently Red Hat’s Global Director of Developer
Experience
● Featured speaker at technology events around the globe
● A Java Champion since 2005
● Former President of the Atlanta Java User Group
● Founded the DevNexus conference
● Always looking for technologies that enable developers
to deliver better software, faster
● bit.ly/kubernetes-tutorial
● bit.ly/istio-tutorial
● bit.ly/knative-tutorial
● bit.ly/tkn-tutorial
@burrsutter
Labs
https://dn.dev/kube-tutorial (Alex)
https://dn.dev/istio-tutorial (Alex)
https://dn.dev/knative-tutorial (Kamesh, Sebi)
https://dn.dev/quarkus-tutorial (Sebi, Edson)
https://dn.dev/kafka-tutorial (Edson, Alex)
https://dn.dev/tekton-tutorial (Kamesh)
https://dn.dev/containers-tutorial (Elder)
Learning Resources
@burrsutter
@burrsutter - bit.ly/serverlesskube
Kubernetes Serverless with
Knative
Kubernetes Basics
(9 Steps to Awesome)
Istio
(Enter the Service Mesh)
Knative
(Kubernetes Serverless)
Microservices Serverless/PaaS
https://www.oreilly.com/live-training/
Control-F and search for "burr"
@burrsutter - bit.ly/serverlesskube
Download
@burrsutter - bit.ly/serverlesskube
Exercise Setup
https://github.com/redhat-developer-demos/knative-tutorial
Testing/Demo Scripts
https://github.com/burrsutter/scripts-knative
https://github.com/burrsutter/sidebyside
https://github.com/burrsutter/knative-kafka
@burrsutter - bit.ly/serverlesskube
• Setup
• Serving: Deploy Knative Service & Revisions
• Configurations & Routes
• Auto-scaling
• Build (Tekton)
• Eventing
Knative Tutorial Exercises (bit.ly/knative-tutorial)
@burrsutter - bit.ly/serverlesskube
Knative's Primary Components
Serving
Build
Eventing
X Replaced by Tekton
@burrsutter - bit.ly/serverlesskube
Your Journey to Awesomeness
Self-Service,
On-Demand,
Elastic
Infrastructur
e
Automation CI & CD
Deployment
Pipeline
Advanced
Deployment
Techniques
Microservices
Re-Org to
DevOps
@burrsutter - bit.ly/serverlesskube
We cannot solve our problems
with the same thinking we used
when we created them.
Albert Einstein
(Theoretical Physicist)
@burrsutter - bit.ly/serverlesskube
Monolith
MyApp
@burrsutter - bit.ly/serverlesskube
The Application
@burrsutter - bit.ly/serverlesskube
Modules
@burrsutter - bit.ly/serverlesskube
Microservices
@burrsutter - bit.ly/serverlesskube
Microservices
@burrsutter - bit.ly/serverlesskube
Microservices
@burrsutter - bit.ly/serverlesskube
Microservices
@burrsutter - bit.ly/serverlesskube
Network of Services
@burrsutter - bit.ly/serverlesskube
Microservices own their Data
@burrsutter - bit.ly/serverlesskube
Multiple Points of Entry
@burrsutter - bit.ly/serverlesskube
Teams & Pipelines
Serverless Kubernetes: Introduction to K8s, Knative by RedHat
@burrsutter - bit.ly/serverlesskube
“Change is the essential
process of all of
existence.”
—SPOCK
@burrsutter - bit.ly/serverlesskube
Let there be Functions?
@burrsutter - bit.ly/serverlesskube
Love Thy Mono
Every 4 months Every week/day/hour
@burrsutter - bit.ly/serverlesskube
Serverless
https://www2.eecs.berkeley.edu/Pubs/TechRpts/2019/EECS-2019-3.pdf
@burrsutter - bit.ly/serverlesskube
Short History of Serverless
AWS
S3
March
2006
AWS
Lambda
November
2014
AWS
EC2
August
2006
Serverless
Described
Thoughtworks
August 2016
Serverless
Coined
October
2012
Serverless
Assess
Thoughtworks
Radar
April 2016
AWS
Dynamo
DB
January
2012
Firebase
September
2011
Iron.io
July
2011
Google
Cloud
Function
Feb 2016
Azure
Functions
Mar 2016
Pivotal
Riff
Dec 2017
Oracle
Functions
Sept 2016
IBM
Bluemix
OpenWhisk
Feb 2016
Oracle
Fn Project
Oct 2017
@burrsutter - bit.ly/serverlesskube
The first question is “is there a suitable service I can
consume?” before “is there something I can buy and
set up using a cloud provider?”.
Thoughtworks Nov 29 2017
@burrsutter - bit.ly/serverlesskube
It is Serverless
because of BaaS/SaaS
(managed by another party services).
@burrsutter - bit.ly/serverlesskube
It is all about the Services
@burrsutter - bit.ly/serverlesskube
API
Gateway
-as-a-
Service
HTTP Input/Output Service
@burrsutter - bit.ly/serverlesskube
API
Gateway
-as-a-
Service
SSO-as-a-
Service
A
P
I
Authentication Service
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
SSO-as-a-
Service
A
P
I
File Storage Service
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
Cache-as-a-
Service
API
DB-as-a-
Service
API
SSO-as-a-
Service
A
P
I
Data Services
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
Messaging
-as-a-
Service
A
P
I
Cache-as-a-
Service
API
DB-as-a-
Service
API
Notifications
-as-a-
Service
A
P
I
A
P
I
SSO-as-a-
Service
A
P
I
Connectivity Services
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
My
Microservic
e
A
My
Microservic
e
B
My
Microservic
e
C
Messaging
-as-a-
Service
A
P
I
Cache-as-a-
Service
API
DB-as-a-
Service
API
Notifications
-as-a-
Service
A
P
I
A
P
I
SSO-as-a-
Service
A
P
I
Your Containerized Services
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
My
Microservic
e
A
Function
1
My
Microservic
e
B
My
Microservic
e
C
Function
2
Function
3
Function
4
Messaging
-as-a-
Service
A
P
I
Cache-as-a-
Service
API
DB-as-a-
Service
API
Notifications
-as-a-
Service
A
P
I
A
P
I
SSO-as-a-
Service
A
P
I
Event-Driven Input
Function
5
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
My
Microservic
e
A
Function
1
My
Microservic
e
B
My
Microservic
e
C
Function
2
Function
3
Function
7
Function
4
Function
6
Messaging
-as-a-
Service
A
P
I
Cache-as-a-
Service
API
DB-as-a-
Service
API
Notifications
-as-a-
Service
A
P
I
A
P
I
SSO-as-a-
Service
A
P
I
Event-Driven Output
Function
5
@burrsutter - bit.ly/serverlesskube
Storage-as-a-Service
A
P
I
API
Gateway
-as-a-
Service
My
Microservic
e
A
Function
1
My
Microservic
e
B
My
Microservic
e
C
Function
2
Function
3
Function
7
Function
4
Function
6
Messaging
-as-a-
Service
A
P
I
Cache-as-a-
Service
API
DB-as-a-
Service
API
Notifications
-as-a-
Service
A
P
I
A
P
I
SSO-as-a-
Service
A
P
I
Synergy
Function
5
@burrsutter - bit.ly/serverlesskube
Microservices Serverless
Functions
Your Control
Long-Lived Processes
Known Programming Model
Often Sync Request-Response
Mature:
IDE Integration
Debuggers
Tracers
Monitoring
CI/CD
Cloud Control
Short-Lived Processes
New Programming Model
Event-Driven Async
Immature:
?
@burrsutter - bit.ly/serverlesskube
Microservices Serverless
Functions
Your Control
Long-Lived Processes
Known Programming Model
Often Sync Request-Response
Mature:
IDE Integration
Debuggers
Tracers
Monitoring
CI/CD
Cloud Control
Short-Lived Processes
New Programming Model
Event-Driven Async
Immature:
?
Knative
@burrsutter - bit.ly/serverlesskube
FaaS
@burrsutter - bit.ly/serverlesskube
FaaS Kubernetes Players
@burrsutter - bit.ly/serverlesskube
Knative
https://github.com/knative
@burrsutter - bit.ly/serverlesskube
Knative Announced July 24 2018
@burrsutter - bit.ly/serverlesskube
FaaS Kubernetes Players
Why?
@burrsutter - bit.ly/serverlesskube
Primitives
Kubernetes
Deploymen
t
Replicaset Pod Service
(tekton) Autoscaling
Invokers Event Binding
Routing
Observability
DX Functions Event Sources Build Tools
Knative
Vendors FaaS Stuff
Serverless
Stuff
@burrsutter - bit.ly/serverlesskube
"Kubernetes-based platform to build, deploy, and manage modern
serverless workloads."
"Essential base primitives for all"
"Knative provides a set of middleware components that are essential
to build modern, source-centric, and container-based applications that
can run anywhere: on premises, in the cloud, or even in a third-party
data center"
What is Knative?
@burrsutter - bit.ly/serverlesskube
• Scale-to-zero: No pod == no memory
• Scale-from-zero: Traffic spike starts N pods
• Configurations & Revisions - built-in Blue/Green
• In-Cluster Image Building (Tekton)
• Traffic splitting
• Eventing System
Interesting Capabilities
@burrsutter - bit.ly/serverlesskube
Exercises
bit.ly/knative-tutorial
https://github.com/burrsutter/scripts-knative
@burrsutter - bit.ly/serverlesskube
Knative Serving
@burrsutter - bit.ly/serverlesskube
Knative Serving
kubectl get crd | grep serving
configurations.serving.knative.dev
revisions.serving.knative.dev
routes.serving.knative.dev
services.serving.knative.dev
@burrsutter - bit.ly/serverlesskube
Knative Serving Autoscaler
kubectl -n knative-serving edit
configmap config-autoscaler
container-concurrency-target-default: "100"
scale-to-zero-grace-period: 60s
stable-window: 30s
@burrsutter - bit.ly/serverlesskube
Deployment
Replicaset
Pod
Service Pod
Pod
kubectl apply -f Deployment.yaml
@burrsutter - bit.ly/serverlesskube
kubectl apply -f ksvc.yaml
Deployment N
Replicaset N
Pod
Service
Pod
Pod N
Configuration
Revision N
serving.knative.dev/v1alpha1
Service
Route
Service
@burrsutter - bit.ly/serverlesskube
kubectl apply -f ksvc.yaml
Deployment N
Replicaset N
Pod
Service
Pod
Pod N
Configuration
Revision N
Knative Gateway
VirutalService
Activator
serving.knative.dev/v1alpha1
Service
Route
ImageCache
PodAutoscaler
ClusterIngress
Service
@burrsutter - bit.ly/serverlesskube
Demo/Labs
@burrsutter - bit.ly/serverlesskube
Knative Eventing
@burrsutter - bit.ly/serverlesskube
Knative Eventing
kubectl get crd | grep eventing
channels.eventing.knative.dev
subscriptions.eventing.knative.dev
cronjobsources.sources.eventing.knative.dev
githubsources.sources.eventing.knative.dev
kuberneteseventsources.sources.eventing.knative.dev
containersources.sources.eventing.knative.dev
@burrsutter - bit.ly/serverlesskube
Knative Eventing Sources
Github
Websockets
AWS SQS
GCP PubSub
Apache Kafka
Apache Camel
https://github.com/knative/eventing-contrib
https://github.com/knative/eventing-sources
@burrsutter - bit.ly/serverlesskube
Sink
Source to Sink
Knative Event Source Knative Service (ksvc)
@burrsutter - bit.ly/serverlesskube
Channel and Subscription
Knative Event
Source
Sink
Knative
Service A
(ksvc)
Sink
Channel
Knative
Service B
(ksvc)
Cloud Event
Message
Sub
Sub
@burrsutter - bit.ly/serverlesskube
Broker and Trigger
Knative Event
Source
Knative
Eventing
Trigger
Sink
broker
Knative
Eventing
Trigger
Sub
Sub
Filtered messages
@burrsutter - bit.ly/serverlesskube
Demo/Labs
@burrsutter - bit.ly/serverlesskube
Knative Build
Moving to Tekton
@burrsutter - bit.ly/serverlesskube
https://tekton.dev/
@burrsutter - bit.ly/serverlesskube
• Governed by the Continuous Delivery Foundation (cd.foundation)
• Contributions from Google, Cloudbees, IBM, Pivotal, Red Hat and more
• Originated from the Knative Build subproject
• Build your linux container images in-cluster
• Automate deployments
• Defines new Kinds via CRDs: Pipeline, Task
• Reusable Tasks (https://github.com/tektoncd/catalog)
• git clone
• mvn, bazel, s2i (python, ruby, etc)
• "docker build" (buildah, kaniko, makisu)
Pipelines - Tekton
@burrsutter - bit.ly/serverlesskube
Pipeline
Pipelines, Tasks, Steps, Resources
Task
Step
Step
Task
Step
git
imag
e
cluster
Task
Step
Step
Pipeline
Resource
Pipeline
Resource
@burrsutter - bit.ly/serverlesskube
Pipeline
Pipeline: Tasks & Steps -> Pods & Containers
Task
Step
Step
Task
Step
Step
Pod
Container
Container
Pod
Container
Container
@burrsutter - bit.ly/serverlesskube
Tutorial
https://redhat-developer-demos.github.io/tekton-tutorial/tekton-tutorial/index.html
@burrsutter - bit.ly/serverlesskube
bit.ly/knative-tutorial
https://github.com/burrsutter/sidebyside
https://github.com/burrsutter/knative-kafka
https://github.com/burrsutter/blue-green-canary
bit.ly/kubernetes-tutorial
bit.ly/istio-tutorial
bit.ly/quarkus-tutorial
Resources
@burrsutter - bit.ly/serverlesskube
bit.ly/mono2microdb
@burrsutter - bit.ly/serverlesskube
bit.ly/istiobook

More Related Content

PDF
The path to a serverless-native era with Kubernetes
PDF
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
PPTX
Application portability with kubernetes
PDF
Knative, Serverless on Kubernetes, and Openshift
PDF
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
PDF
Insights on Knative and how it changes the serverless landscape
PDF
9 steps to awesome with kubernetes
PDF
Knative and Kubernetes - bringing serverless to more developers
The path to a serverless-native era with Kubernetes
KNATIVE - DEPLOY, AND MANAGE MODERN CONTAINER-BASED SERVERLESS WORKLOADS
Application portability with kubernetes
Knative, Serverless on Kubernetes, and Openshift
stackconf 2020 | The path to a Serverless-native era with Kubernetes by Paolo...
Insights on Knative and how it changes the serverless landscape
9 steps to awesome with kubernetes
Knative and Kubernetes - bringing serverless to more developers

Similar to Serverless Kubernetes: Introduction to K8s, Knative by RedHat (20)

PDF
Building and Running Workloads the Knative Way
PDF
Running and Managing Kubernetes on OpenStack
PDF
Sergio Seabra - Red Hat - OSL19
PDF
Reference architectures shows a microservices deployed to Kubernetes
PPTX
Going Serverless with Kubeless In Google Container Engine (GKE)
PDF
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
PDF
One Kubernetes to rule them all (ZEUS 2019 Keynote)
PPTX
Serverless
PDF
Serverless with Knative - Mete Atamel (Google)
PDF
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
PPTX
Implementing FaaS on Kubernetes using Kubeless
PDF
PKS: The What and How of Enterprise-Grade Kubernetes
PDF
DCEU 18: Docker Containers in a Serverless World
PDF
Keepler | Full-Stack Serverless Applications on GCP
PDF
Openshift serverless Solution
PDF
Serverless brewbox
PDF
KUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLING
PDF
Bring cloud on premises with a kubernetes-native infrastructure
PDF
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
PDF
Serverless Spring - Nate Schutta 2/2
Building and Running Workloads the Knative Way
Running and Managing Kubernetes on OpenStack
Sergio Seabra - Red Hat - OSL19
Reference architectures shows a microservices deployed to Kubernetes
Going Serverless with Kubeless In Google Container Engine (GKE)
Mete Atamel - Serverless with Knative - Codemotion Amsterdam 2019
One Kubernetes to rule them all (ZEUS 2019 Keynote)
Serverless
Serverless with Knative - Mete Atamel (Google)
Kubernetes: The evolution of distributed systems | DevNation Tech Talk
Implementing FaaS on Kubernetes using Kubeless
PKS: The What and How of Enterprise-Grade Kubernetes
DCEU 18: Docker Containers in a Serverless World
Keepler | Full-Stack Serverless Applications on GCP
Openshift serverless Solution
Serverless brewbox
KUBERNETES AS A FRAMEWORK FOR WRITING DEVOPS & MICROSERVICES TOOLING
Bring cloud on premises with a kubernetes-native infrastructure
Amazon EKS 그리고 Service Mesh (김세호 솔루션즈 아키텍트, AWS) :: Gaming on AWS 2018
Serverless Spring - Nate Schutta 2/2
Ad

Recently uploaded (20)

PPTX
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
PDF
Using Technology to Foster Innovative Teaching Practices (www.kiu.ac.ug)
DOCX
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
PDF
IAE-V2500 Engine Airbus Family A319/320
PDF
Mechanics of materials week 2 rajeshwari
PDF
IAE-V2500 Engine for Airbus Family 319/320
DOCX
An investigation of the use of recycled crumb rubber as a partial replacement...
PDF
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
PPTX
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
PDF
CELDAS DE COMBUSTIBLE TIPO MEMBRANA DE INTERCAMBIO PROTÓNICO.pdf
PPT
Programmable Logic Controller PLC and Industrial Automation
PPTX
SC Robotics Team Safety Training Presentation
PDF
Principles of operation, construction, theory, advantages and disadvantages, ...
PDF
Lesson 3 .pdf
PDF
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
PDF
Engineering Solutions for Ethical Dilemmas in Healthcare (www.kiu.ac.ug)
PPTX
Wireless sensor networks (WSN) SRM unit 2
PDF
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
PDF
Performance, energy consumption and costs: a comparative analysis of automati...
PPTX
AI-Reporting for Emerging Technologies(BS Computer Engineering)
BBOC407 BIOLOGY FOR ENGINEERS (CS) - MODULE 1 PART 1.pptx
Using Technology to Foster Innovative Teaching Practices (www.kiu.ac.ug)
ENVIRONMENTAL PROTECTION AND MANAGEMENT (18CVL756)
IAE-V2500 Engine Airbus Family A319/320
Mechanics of materials week 2 rajeshwari
IAE-V2500 Engine for Airbus Family 319/320
An investigation of the use of recycled crumb rubber as a partial replacement...
AIGA 012_04 Cleaning of equipment for oxygen service_reformat Jan 12.pdf
SE unit 1.pptx aaahshdhajdviwhsiehebeiwheiebeiev
CELDAS DE COMBUSTIBLE TIPO MEMBRANA DE INTERCAMBIO PROTÓNICO.pdf
Programmable Logic Controller PLC and Industrial Automation
SC Robotics Team Safety Training Presentation
Principles of operation, construction, theory, advantages and disadvantages, ...
Lesson 3 .pdf
LS-6-Digital-Literacy (1) K12 CURRICULUM .pdf
Engineering Solutions for Ethical Dilemmas in Healthcare (www.kiu.ac.ug)
Wireless sensor networks (WSN) SRM unit 2
VTU IOT LAB MANUAL (BCS701) Computer science and Engineering
Performance, energy consumption and costs: a comparative analysis of automati...
AI-Reporting for Emerging Technologies(BS Computer Engineering)
Ad

Serverless Kubernetes: Introduction to K8s, Knative by RedHat

Editor's Notes

  • #2: https://www.youtube.com/watch?v=f-q5FLtlUOI
  • #6: https://www.oreilly.com/live-training/courses/9-steps-to-awesome-with-kubernetes/0636920323105/ https://www.oreilly.com/live-training/courses/istio-on-kubernetes-enter-the-service-mesh/0636920334729/ https://www.oreilly.com/live-training/courses/kubernetes-serverless-with-knative/0636920271055/
  • #52: https://cloudplatform.googleblog.com/2018/07/bringing-the-best-of-serverless-to-you.html
  • #55: https://cloud.google.com/knative/