Cloud Native Night February 2019, Munich: Talk by Olaf Meyer (Consol)
Join our Meetup: www.meetup.com/cloud-native-muc
Abstract: Knative is at the time being one of the most hyped frameworks for Kubernetes and OpenShift. In this talk I don't want to focus on the features from a technical point of view but rather have a look at what Knative brings to the table if you are running a cluster in an enterprise environment with different users and projects. At the end of the talk you should have a sound understanding what Knative is doing, what its benefits are, where it extends respectively conflicts with OpenShift and what its drawbacks are.
Charbagh + Female Escorts Service in Lucknow | Starting ₹,5K To @25k with A/C...
Knative from an Enterprise Perspective
1. Knative from an Enterprise
Perspective
Olaf Meyer
Senior Consultant
21.02.2019
2. Knative from an Enterprise Perspective Page 2 of 20
Agenda
• Who am I?
• What is Knative?
– What is build?
– What is serving?
– What is eventing?
• Why should I use Knative in OpenShift?
3. Knative from an Enterprise Perspective Page 3 of 20
Who am I?
• Former Lotus Notes/Domino Developer
• Former Web-Developer
• Former Java-Developer
• Former Requirements-Engineer
• Currently OpenShiftler
• DevOps or OpsDev?
https://thatisevil.wordpress.com/2013/06/17/come-to-the-dark-side-we-have-cookies/
4. Knative from an Enterprise Perspective Page 4 of 20
What is Knative?
Definition from github knative project:
Knative (pronounced kay-nay-tiv) extends
Kubernetes to provide 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.
5. Knative from an Enterprise Perspective Page 5 of 20
What is Knative?
●
Based on Istio and Kubernetes
●
About 7 months old
●
Current version 0.3
●
Announcing Managed Knative on IBM
Cloud Kubernetes Service (Experimental)
- IBM Cloud Blog (12. Feb. 2019)
●
projectriff.io (Pivotal Project)
●
Triggermesh.com (Serverless
management platform)
6. Knative from an Enterprise Perspective Page 6 of 20
What is Knative?
Build Serving Eventing
A pluggable model for
building artifacts, like
jar, files, zips or
container from source
code
An event-driven model
that serves the
container with your
application and can
„scale to zero“
Common
infrastructure for
consuming and
producing events that
will stimulate
applications
7. Knative from an Enterprise Perspective Page 7 of 20
Knative build
●
Source-to-container build orchestration
●
Using custom resource definition to define
– Builds
– Steps
– BuildTemplates
– Pipelines (separate project; may replace build in future?)
8. Knative from an Enterprise Perspective Page 8 of 20
Build and BuildTemplate
Demo
9. Knative from an Enterprise Perspective Page 9 of 20
BuildTemplates
●
Define your own build templates
●
Use predefined build templates
– Buildah
– Kaniko
– JIB
– S2I (currently as a pull request)
– and more ...
10. Knative from an Enterprise Perspective Page 10 of 20
Serving
●
(Knative) Service top level resource
●
Configuration represent the ‘floating
HEAD’ of a history of Revisions
●
Revision → immutable snapshot of code
and configuration
●
(Knative) route over a collection of
Revisions
11. Knative from an Enterprise Perspective Page 11 of 20
Serving
• Scale to zero
• Autoscaler by number of requests and cpu
• Source-to-URL
• Split traffic between revisions
12. Knative from an Enterprise Perspective Page 12 of 20
Serving
Demo
13. Knative from an Enterprise Perspective Page 13 of 20
Eventing
Management and delivery of events defined by using Cloud events
14. Knative from an Enterprise Perspective Page 14 of 20
Eventing
• Source → Source of events
– GCP PubSub
– Kubernetes Events
– GitHub
– Container Source (build your own event source)
• Channel → Buffering and persistence of events
– in-memory-channel
– GCP PubSub
– Kafka
– NATS
• Subscription → Binds service to channel
15. Knative from an Enterprise Perspective Page 15 of 20
Eventing
Demo
16. Knative from an Enterprise Perspective Page 16 of 20
Why to use Knative
• Scale-to-zero
• Autoscaling by concurrent requests
• If Builds are moved to pipelines could become
interesting as extension of S2I builds
• Eventing as base FaaS frameworks
• Using open standard Cloud Events
17. Knative from an Enterprise Perspective Page 17 of 20
Why not to use Knative
• Knative is a very young project (< 1 year)
• It is alpha
• Security is switched off in cluster
– Requirement run as anyuid
– Requirement run privileged
– Use SDN plugin ovs-subnet
18. Knative from an Enterprise Perspective Page 18 of 20
Links
• Knative on GitHub https://github.com/knative
• Google: „Using Knative to deploy serverless applications
to Kubernetes“
https://codelabs.developers.google.com/codelabs/knati
ve-intro
• RedHat Developer Demos: Knative Tutorial
https://redhat-developer-demos.github.io/knative-
tutorial/knative-tutorial/dev/index.html
• Pivotal: Getting started with Knative (free and legal
eBook)
https://content.pivotal.io/ebooks/getting-started-with-
knative