Knative包含三個重要組件:html
一、Build(已廢棄,現改成Tekton Pipline)ios
二、Eventinggit
三、Serving github
1、Tekton Piple
https://github.com/tektoncd/pipelineexpress
The Tekton Pipelines project provides k8s-style resources for declaring CI/CD-style pipelines.api
Tekton Pipelines are Cloud Native:app
- Run on Kubernetes
- Have Kubernetes clusters as a first class type
- Use containers as their building blocks
Tekton Pipelines are Decoupled:less
- 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
2、Eventing
https://github.com/knative/eventingasync
The high level mission of Knative Eventing is: Enable asynchronous application development through event delivery from anywhere.ide
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.
3、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配置到達各個版本的請求比例。