×

为了改进应用程序代码的部署过程,您可以使用 OpenShift Serverless 在 OpenShift Container Platform 上将无状态、事件驱动的函数部署为 Knative 服务。如果您想开发函数,则必须完成设置步骤。

先决条件

要在您的集群上启用 OpenShift Serverless Functions 的使用,您必须完成以下步骤

  • OpenShift Serverless Operator 和 Knative Serving 已安装在您的集群上。

    函数作为 Knative 服务部署。如果您想将事件驱动架构与您的函数一起使用,则还必须安装 Knative Eventing。

  • 您已安装 oc CLI

  • 您已安装 Knative (kn) CLI。安装 Knative CLI 可以使用 kn func 命令,您可以使用这些命令来创建和管理函数。

  • 您已安装 Docker Container Engine 或 Podman 3.4.7 或更高版本。

  • 您可以访问可用的镜像注册表,例如 OpenShift Container Registry。

  • 如果您使用的是 Quay.io 作为镜像注册表,则必须确保存储库不是私有的,或者您已按照 OpenShift Container Platform 文档中的说明操作 允许 Pod 引用来自其他安全注册表的镜像

  • 如果您使用的是 OpenShift Container Registry,则集群管理员必须 公开注册表

设置 Podman

要使用高级容器管理功能,您可能希望将 Podman 与 OpenShift Serverless Functions 一起使用。为此,您需要启动 Podman 服务并将 Knative (kn) CLI 配置为连接到它。

步骤
  1. 启动 Podman 服务,该服务在 ${XDG_RUNTIME_DIR}/podman/podman.sock 处的 UNIX 套接字上提供 Docker API。

    $ systemctl start --user podman.socket

    在大多数系统上,此套接字位于 /run/user/$(id -u)/podman/podman.sock

  2. 建立用于构建函数的环境变量

    $ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
  3. 使用 -v 标志在您的函数项目目录中运行构建命令以查看详细输出。您应该会看到与本地 UNIX 套接字的连接

    $ kn func build -v

在 macOS 上设置 Podman

要使用高级容器管理功能,您可能希望将 Podman 与 OpenShift Serverless Functions 一起使用。要在 macOS 上执行此操作,您需要启动 Podman 机器并将 Knative (kn) CLI 配置为连接到它。

步骤
  1. 创建 Podman 机器

    $ podman machine init --memory=8192 --cpus=2 --disk-size=20
  2. 启动 Podman 机器,该机器在 UNIX 套接字上提供 Docker API

    $ podman machine start
    Starting machine "podman-machine-default"
    Waiting for VM ...
    Mounting volume... /Users/myuser:/Users/user
    
    [...truncated output...]
    
    You can still connect Docker API clients by setting DOCKER_HOST using the
    following command in your terminal session:
    
    	export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
    
    Machine "podman-machine-default" started successfully

    在大多数 macOS 系统上,此套接字位于 /Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock

  3. 建立用于构建函数的环境变量

    $ export DOCKER_HOST='unix:///Users/myuser/.local/share/containers/podman/machine/podman-machine-default/podman.sock'
  4. 使用 -v 标志在您的函数项目目录中运行构建命令以查看详细输出。您应该会看到与本地 UNIX 套接字的连接

    $ kn func build -v

后续步骤