第 11 章 Functions
11.1. 设置 OpenShift Serverless 功能
OpenShift Serverless 功能只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的详情,请参考 https://access.redhat.com/support/offerings/techpreview/。
为改进应用程序代码部署的过程,您可以使用 OpenShift Serverless 部署无状态、事件驱动的功能,作为 OpenShift Container Platform 上的 Knative 服务。如果要开发功能,您必须完成设置步骤。
11.1.1. 先决条件
要在集群中启用 OpenShift Serverless 功能,您必须完成以下步骤:
在集群中安装了 OpenShift Serverless Operator 和 Knative Serving。
注意功能部署为 Knative 服务。如果要将事件驱动的架构与您的功能搭配使用,还必须安装 Knative Eventing。
-
oc
CLI 在集群中安装。 -
在集群中安装了 Knative(
kn
)CLI。安装 Knative CLI 可让您使用kn func
命令来创建和管理功能。 - 已安装 Docker Container Engine 或 podman 版本 3.3 或更高版本,并可访问可用的镜像 registry。
- 如果您使用 Quay.io 作为镜像 registry,您必须确保存储库不是私有的,或者按照 OpenShift Container Platform 文档中有关允许 Pod 引用其他安全 registry 中的镜像的内容进行操作。
- 如果使用 OpenShift Container Registry,集群管理员必须公开 registry。
11.1.2. 设置 podman
要使用高级容器管理功能,您可能需要将 podman 与 OpenShift Serverless 功能搭配使用。要做到这一点,您需要启动 podman 服务并配置 Knative(kn
)CLI 来连接它。
流程
在
${XDG_RUNTIME_DIR}/podman/podman.sock
的 UNIX 套接字上启动提供 Docker API 的 podman 服务:$ systemctl start --user podman.socket
注意在大多数系统中,此套接字位于
/run/user/$(id -u)/podman/podman.sock
。建立用于构建功能的环境变量:
$ export DOCKER_HOST="unix://${XDG_RUNTIME_DIR}/podman/podman.sock"
在功能项目目录中使用
-v
标记运行构建命令,以查看详细的输出。您应该看到到本地 UNIX 套接字的连接:$ kn func build -v