Knative (pronounced /ˈnā-tiv/) extends Kubernetes to provide the missing middleware that developers need to create modern, source-centric, container-based, cloud-native applications.
Each of the components under the Knative project attempt to identify common patterns and codify the best practices shared by successful real-world Kubernetes-based frameworks and applications, such as:
- orchestrating source-to-container workflows
- routing and managing traffic during deployment
- scaling and sizing resources based on demand
- binding running services to eventing ecosystems
Knative focuses on the "boring but difficult" parts that everyone needs, but no one benefits from doing over again on their own. This in turn frees application developers to spend more time writing interesting code, not worrying about how they are going to build, deploy, monitor, and debug it.
To get started using Knative, pick a Kubernetes cluster of your choice and follow the Knative installation instructions to get the system up.
There are a number of samples to help you get acquainted you can build and run on your cluster once it's set up.
You can choose to install individual Knative components following the instructions in each repo, or install a pre-built suite of components by following the instructions for your platform:
Knative was created with several personas in mind:
Knative components offer Kubernetes-native APIs for deploying serverless-style functions, applications, and containers to an auto-scaling runtime.
To join the conversation, head over to the Knative Users Google group.
Knative components are intended to be integrated into more polished products that cloud service providers or in-house teams in large enterprises can then operate.
Any enterprise or cloud provider can adopt Knative components into their own systems and pass the benefits along to their customers.
With a clear project scope, lightweight governance model and clean lines of separation between pluggable components, the Knative project establishes an efficient contributor workflow.
Knative is a diverse, open, and inclusive community. To get involved, see CONTRIBUTING.md and DEVELOPMENT.md and join the #community Slack channel.
Your own path to becoming a Knative contributor can begin anywhere. Bug reports and friction logs from new developers are especially welcome.
Currently, Knative consists of the following top-level repositories:
- build and build-templates — automatic, repeatable server-side container builds
- docs - documentation for developers and operators using Knative components.
- eventing — management and delivery of events
- serving — scale to zero, request-driven compute
We expect this list to grow as more areas are identified.