这是本节可打印的多页视图 点击这里开始打印.

返回常规视图.

入门

这里将指引您快速入门 OpenFunction,包括安装及一些案例的演示

    概述

    OpenFunction 是一个云原生、开源的 FaaS(函数即服务)框架,旨在让开发人员专注于他们的开发意图,而不必关心底层运行环境和基础设施。用户只需提交一段代码,就可以生成事件驱动的、动态伸缩的 Serverless 工作负载。

    OpenFunction的特点:

    • 云原生,开源
    • 自动构建代码为 OCI 标准镜像
    • 自动部署具有动态伸缩能力的应用程序
    • 提供事件框架,使函数具备事件驱动能力
    • 提供函数版本控制和入口流量管理功能

    OpenFunction有两个主要框架:

    兼容性

    Kubernetes 兼容性矩阵

    我们对下列版本进行了测试验证,以确保他们可以按照所示的对应关系正常运行。但请注意,使用其他版本也可能正常运行!

    OpenFunctionKubernetes 1.19Kubernetes 1.20Kubernetes 1.21Kubernetes 1.22
    release-0.3
    release-0.4×
    HEAD×

    前提准备

    当前版本的 OpenFunction 要求你有一个版本为 等于或高于 1.18.6 的 Kubernetes 集群。

    此外,你需要为 OpenFunction 的 BuilderServing 部署一些依赖项。

    你可以使用以下命令来安装 OpenFunction 的 BuilderServing

    sh hack/deploy.sh --all
    

    这个命令将安装 BuilderServing 的所有依赖项到你的集群中。

    你也可以用以下参数来定制安装的依赖软件。

    参数用途说明
    --all安装所有 BuilderServing 的依赖软件
    --with-shipwright安装 ShipWright(Builder 的依赖软件)
    --with-knative安装 Knative(Serving 的依赖软件)
    --with-openFuncAsync安装 OpenFuncAsync(Serving 的依赖软件,包含 KEDA 与 Dapr)
    --poor-network用于当你正使用无法有效访问 GitHub/Googleapis 的网络时

    安装

    你可以使用以下命令安装 OpenFunction:

    • 安装最新稳定版本
    kubectl create -f https://github.com/OpenFunction/OpenFunction/releases/download/v0.4.0/bundle.yaml
    
    • 安装最新开发版本
    kubectl create -f https://raw.githubusercontent.com/OpenFunction/OpenFunction/main/config/bundle.yaml
    

    注意:当使用非默认的命名空间时,确保命名空间中的 ClusterRoleBinding 是匹配的。

    案例:运行一个简单函数

    如果你已经安装了 OpenFunction,推荐参考 OpenFunction samples 运行一个函数案例。

    卸载

    • 卸载最新的稳定版本
    kubectl delete -f https://raw.githubusercontent.com/OpenFunction/OpenFunction/release-0.4/config/bundle.yaml
    
    • 卸载最新的开发版本
    kubectl delete -f https://raw.githubusercontent.com/OpenFunction/OpenFunction/main/config/bundle.yaml