Questo contenuto non è disponibile nella lingua selezionata.
Chapter 8. Configuring OpenShift Serverless Functions
To improve the process of deployment of your application code, you can use OpenShift Serverless to deploy stateless, event-driven functions as a Knative service on OpenShift Container Platform. If you want to develop functions, you must complete the set up steps.
8.1. Prerequisites Copia collegamentoCollegamento copiato negli appunti!
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.
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 the
oc
CLI installed. -
You have the Knative (
kn
) CLI installed. Installing the Knative CLI enables the use ofkn 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.
8.2. Setting up Podman Copia collegamentoCollegamento copiato negli appunti!
To use advanced container management features, you might want to use Podman with OpenShift Serverless Functions. To do so, you need to start the Podman service and configure the Knative (kn
) CLI to connect to it.
Procedure
Start the Podman service that serves the Docker API on a UNIX socket at
${XDG_RUNTIME_DIR}/podman/podman.sock
:systemctl start --user podman.socket
$ systemctl start --user podman.socket
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteOn most systems, this socket is located at
/run/user/$(id -u)/podman/podman.sock
.Establish the environment variable that is used to build a function:
export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
$ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the build command inside your function project directory with the
-v
flag to see verbose output. You should see a connection to your local UNIX socket:kn func build -v
$ kn func build -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.3. Setting up Podman on macOS Copia collegamentoCollegamento copiato negli appunti!
To use advanced container management features, you might want to use Podman with OpenShift Serverless Functions. To do so on macOS, you need to start the Podman machine and configure the Knative (kn
) CLI to connect to it.
Procedure
Create the Podman machine:
podman machine init --memory=8192 --cpus=2 --disk-size=20
$ podman machine init --memory=8192 --cpus=2 --disk-size=20
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Start the Podman machine, which serves the Docker API on a UNIX socket:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow NoteOn most macOS systems, this socket is located at
/Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock
.Establish the environment variable that is used to build a function:
export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
$ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Run the build command inside your function project directory with the
-v
flag to see verbose output. You should see a connection to your local UNIX socket:kn func build -v
$ kn func build -v
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
8.4. Next steps Copia collegamentoCollegamento copiato negli appunti!
- For more information about Docker Container Engine or Podman, see Container build tool options.
- See Getting started with functions.