Knative包含三个重要组件:
1、Build(已废弃,现改为Tekton Pipline)
2、Eventing
3、Serving
一、Tekton Piple
https://github.com/tektoncd/pipeline
The Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines.
Tekton Pipelines are Cloud Native:
- Run on Kubernetes
- Have Kubernetes clusters as a first class type
- Use containers as their building blocks
Tekton Pipelines are Decoupled:
- One Pipeline can be used to deploy to any k8s cluster
- The Tasks which make up a Pipeline can easily be run in isolation
- Resources such as git repos can easily be swapped between runs
二、Eventing
https://github.com/knative/eventing
The high level mission of Knative Eventing is: Enable asynchronous application development through event delivery from anywhere.
eventing system that is designed to address a common need for cloud native development:
- Services are loosely coupled during development and deployed independently
- A producer can generate events before a consumer is listening, and a consumer can express an interest in an event or class of events that is not yet being produced.
- Services can be connected to create new applications
- without modifying producer or consumer, and
- with the ability to select a specific subset of events from a particular producer.
三、Serving
https://github.com/knative/serving
https://www.ibm.com/developerworks/cn/opensource/os-knative-what-is-it-why-you-should-care/index.html
Knative Serving builds on Kubernetes and Istio to support deploying and serving of serverless applications and functions. Serving is easy to get started with and scales to support advanced scenarios.
The Knative Serving project provides middleware primitives that enable:
- Rapid deployment of serverless containers
- Automatic scaling up and down to zero
- Routing and network programming for Istio components
- Point-in-time snapshots of deployed code and configurations
可用同时运行多个版本的服务(revision),然后通过route配置到达各个版本的请求比例。