Skip to content

Knative Operator Add-On

Knative is an open source enterprise-grade solution to build serverless and Event Driven applications on Kubernetes. The Knative Operator provides support for installing, configuring and managing Knative without using custom CRDs.

Knative Add-on supports standard helm configuration options

Usage

import * as cdk from 'aws-cdk-lib';
import * as blueprints from '@aws-quickstart/eks-blueprints';

const app = new cdk.App();

const addOns = [
    new blueprints.addons.IstioBaseAddOn(),
    new blueprints.addons.IstioControlPlaneAddOn(),
    new blueprints.addons.KNativeOperator()
];

const blueprint = blueprints.EksBlueprint.builder()
    .version("auto")
    .addOns(...addOns)
    .build(app, 'my-stack-name');

Applying KNative Eventing

To apply KNative Eventing to a specific namespace, you can use the following YAML:

apiVersion: v1
kind: Namespace
metadata:
  name: knative-eventing
---
apiVersion: operator.knative.dev/v1beta1
kind: KnativeEventing
metadata:
  name: knative-eventing
  namespace: knative-eventing
You can also configure KNative to ingest from specific event sources. More configuration instructions can be found in their documentation about event source configurations

Applying KNative Serving

To apply KNative Serving to a specific Namespace, you can use the following YAML:

apiVersion: v1
kind: Namespace
metadata:
  name: knative-serving
---
apiVersion: operator.knative.dev/v1beta1
kind: KnativeServing
metadata:
  name: knative-serving
  namespace: knative-serving

You will have to install a networking layer and configure it to ensure KNative Serving functions properly. The KNative Setup website has better documentation.

Applying KNative Functions

Currently, the Knative Operator does not support the deployment of Knative directly as they're directly run as services. For better instructions check their documentation.