搜索

第 11 章 Functions

download PDF

11.1. 设置 OpenShift Serverless 功能

重要

OpenShift Serverless Functions 只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(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.4.7 或更高版本,并可以访问可用的镜像 registry,如 OpenShift Container Registry。
  • 如果您使用 Quay.io 作为镜像 registry,您必须确保存储库不是私有的,或者按照 OpenShift Container Platform 文档中有关允许 Pod 引用其他安全 registry 中的镜像的内容进行操作。
  • 如果使用 OpenShift Container Registry,集群管理员必须公开 registry

11.1.2. 设置 podman

要使用高级容器管理功能,您可能需要将 podman 与 OpenShift Serverless 功能搭配使用。要做到这一点,您需要启动 podman 服务并配置 Knative (kn) CLI 来连接它。

流程

  1. ${XDG_RUNTIME_DIR}/podman/podman.sock 的 UNIX 套接字上启动提供 Docker API 的 podman 服务:

    $ 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

11.1.3. 在 macOS 中设置 podman

要使用高级容器管理功能,您可能需要将 podman 与 OpenShift Serverless 功能搭配使用。要在 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

11.1.4. 后续步骤

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.