Chapter 1. Getting started with functions


Function lifecycle management includes creating and deploying a function, after which it can be invoked. You can do all of these operations on OpenShift Serverless using the kn func tool.

1.1. Prerequisites

To enable the use of OpenShift Serverless Functions on your cluster, you must complete the following steps:

  • The OpenShift Serverless Operator and Knative Serving are installed on your cluster.

    Note

    Functions are deployed as a Knative service. If you want to use event-driven architecture with your functions, you must also install Knative Eventing.

  • You have the oc CLI installed.
  • You have the Knative (kn) CLI installed. Installing the Knative CLI enables the use of kn func commands which you can use to create and manage functions.
  • You have installed Docker Container Engine or Podman version 3.4.7 or higher.
  • You have access to an available image registry, such as the OpenShift Container Registry.
  • If you are using Quay.io as the image registry, you must ensure that either the repository is not private, or that you have followed the OpenShift Container Platform documentation on Allowing pods to reference images from other secured registries.
  • If you are using the OpenShift Container Registry, a cluster administrator must expose the registry.

1.2. Creating, deploying, and invoking a function

On OpenShift Serverless, you can use the kn func to create, deploy, and invoke a function.

Procedure

  1. Create a function project:

    $ kn func create -l <runtime> -t <template> <path>
    Copy to Clipboard

    Example command

    $ kn func create -l typescript -t cloudevents examplefunc
    Copy to Clipboard

    Example output

    Created typescript function in /home/user/demo/examplefunc
    Copy to Clipboard

  2. Navigate to the function project directory:

    Example command

    $ cd examplefunc
    Copy to Clipboard

  3. Build and run the function locally:

    Example command

    $ kn func run
    Copy to Clipboard

  4. Deploy the function to your cluster:

    $ kn func deploy
    Copy to Clipboard

    Example output

    Function deployed at: http://func.example.com
    Copy to Clipboard

  5. Invoke the function:

    $ kn func invoke
    Copy to Clipboard

    This invokes either a locally or remotely running function. If both are running, the local one is invoked.

1.4. Next steps

Back to top
Red Hat logoGithubredditYoutubeTwitter

Learn

Try, buy, & sell

Communities

About Red Hat Documentation

We help Red Hat users innovate and achieve their goals with our products and services with content they can trust. Explore our recent updates.

Making open source more inclusive

Red Hat is committed to replacing problematic language in our code, documentation, and web properties. For more details, see the Red Hat Blog.

About Red Hat

We deliver hardened solutions that make it easier for enterprises to work across platforms and environments, from the core datacenter to the network edge.

Theme

© 2025 Red Hat, Inc.