Knative - bobbae/gcp GitHub Wiki

Kubernetes-based platform to deploy and manage modern serverless workloads.

https://knative.dev/docs/

Quickstart

https://cloud.google.com/anthos/run/docs/quickstarts/prebuilt-deploy-gke

Features

Knative 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. Each of the components under the Knative project attempt to identify common patterns and codify the best practices that are shared by successful, real-world, Kubernetes-based frameworks and applications. Knative components focus on solving mundane but difficult tasks such as:

Developers on Knative can use familiar idioms, languages, and frameworks to deploy functions, applications, or containers workloads.

Serving and Eventing

Knative consists of the Serving and Eventing components:

  • Eventing - Management and delivery of events
  • Serving - Request-driven compute that can scale to zero

Run managed serverless containers with Knative

https://www.youtube.com/watch?v=wPLjUF1hFCw

Knative installation

Knative installation is done on top of Kubernetes and uses optional extensions such as Ambassador, Contour, Kong and Gloo.

Knative based Cloud Run

https://ahmet.im/blog/cloud-run-is-a-knative/

https://cloud.google.com/blog/products/serverless/knative-based-cloud-run-services-are-ga

Cloud Run is the service name fully compliant with Knative and it exists in 2 flavors: Managed and on GKE.

https://medium.com/google-cloud/knative-and-cloud-run-portability-in-action-1a655c914318

Google Cloud Run with KNative CLI

https://medium.com/google-cloud/google-cloud-run-with-knative-cli-4299d94110d5

Components

Build

  • Configurable and flexible approach to building source code into containers
  • Pluggable approach leveraging Dockerfiles or built templates
  • No cross-compiling or need for local build tools
  • Support for cached artifacts for faster builds
  • Allow your organization to utilize spare capacity for better resource usage

Serving

  • Higher level abstraction, easy to reason about the object model
  • Seamless autoscaling based on HTTP requests
  • Gradual rollouts for new revisions
  • Integrates networking and service mesh automatically
  • Pluggable: connect your own logging and monitoring platform

Eventing

  • Universal subscription, delivery, and management of events
  • Build loosely coupled, event-driven systems with high-level objects
  • Declarative binding between event producers and event consuming services
  • Scalable from just a few events to live streams
  • Custom event pipelines to connect with your own existing systems

Knative and Cloud Run portability

https://medium.com/google-cloud/knative-and-cloud-run-portability-in-action-1a655c914318

Knative 1.0 features

https://knative.dev/blog/articles/knative-1.0/

Samples

Getting Started

https://knative.dev/docs/serving/getting-started-knative-app/

Blue Green

https://knative.dev/docs/serving/samples/blue-green-deployment/

Auto Scale

https://knative.dev/docs/serving/autoscaling/

Eventing

https://knative.dev/docs/eventing/getting-started/

Code Samples

https://knative.dev/docs/samples/