Chapter 1. Getting started with functions
Function lifecycle management includes creating and deploying a function, after that you can call it. Use the kn func tool to perform these operations on OpenShift Serverless.
1.1. Prerequisites for OpenShift Serverless Functions Copy linkLink copied to clipboard!
To enable the use of OpenShift Serverless Functions on your cluster, you must complete the following steps:
You have installed the OpenShift Serverless Operator and Knative Serving on your cluster.
NoteFunctions 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 installed the
ocCLI. -
You have the Knative (
kn) CLI installed. Installing the Knative CLI enables the use ofkn funccommands 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.ioas 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 Copy linkLink copied to clipboard!
On OpenShift Serverless, you can use the kn func to create, deploy, and call a function.
Procedure
Create a function project by running the following command:
$ kn func create -l <runtime> -t <template> <path>You get an output similar to the following example command:
$ kn func create -l typescript -t cloudevents examplefuncYou get an output similar to the following example:
Created typescript function in /home/user/demo/examplefuncNavigate to the function project directory by running the following command:
You get an output similar to the following example command:
$ cd examplefuncBuild and run the function locally by running the following command:
You get an output similar to the following example command:
$ kn func runDeploy the function to your cluster by running the following command:
$ kn func deployYou get an output similar to the following example:
Function deployed at: http://func.example.comCall the function by running the following command:
$ kn func invokeThis invokes either a locally or remotely running function. If both are running, the local one is invoked.