$ kn func create -r <repository> -l <runtime> -t <template> <path>
在构建和部署函数之前,必须先创建它。可以使用 Knative (kn
) CLI 创建函数。
可以将函数的路径、运行时、模板和镜像注册表指定为命令行标志,或者使用-c
标志在终端启动交互式体验。
在集群上安装了 OpenShift Serverless Operator 和 Knative Serving。
已安装 Knative (kn
) CLI。
创建函数项目
$ kn func create -r <repository> -l <runtime> -t <template> <path>
可接受的运行时值包括quarkus
、node
、typescript
、go
、python
、springboot
和rust
。
可接受的模板值包括http
和cloudevents
。
$ kn func create -l typescript -t cloudevents examplefunc
Created typescript function in /home/user/demo/examplefunc
或者,可以指定包含自定义模板的存储库。
$ kn func create -r https://github.com/boson-project/templates/ -l node -t hello-world examplefunc
Created node function in /home/user/demo/examplefunc
可以使用 OpenShift Container Platform Web 控制台的**开发人员**视角从 Git 存储库创建函数。
在使用 Web 控制台创建函数之前,集群管理员必须完成以下步骤
在集群上安装 OpenShift Serverless Operator 和 Knative Serving。
在集群上安装 OpenShift Pipelines Operator。
创建以下管道任务,以便它们可用于集群上的所有命名空间
$ kn func tkn-tasks | oc apply -f -
$ oc apply -f https://raw.githubusercontent.com/openshift-knative/kn-plugin-func/serverless-1.34/pkg/pipelines/resources/tekton/pipeline/dev-console/0.1/nodejs-pipeline.yaml
必须登录到 OpenShift Container Platform Web 控制台。
必须创建一个项目,或者拥有访问具有在 OpenShift Container Platform 中创建应用程序和其他工作负载的适当角色和权限的项目的权限。
必须创建或访问包含函数代码的 Git 存储库。该存储库必须包含func.yaml
文件并使用s2i
构建策略。
在**开发人员**视角中,导航到**+添加** → **创建无服务器函数**。将显示**创建无服务器函数**页面。
输入指向包含函数代码的 Git 存储库的**Git Repo URL**。
在**管道**部分
选择**构建、部署和配置管道存储库**单选按钮以创建函数的新管道。
选择**使用此集群中的管道**单选按钮以将函数连接到集群中的现有管道。
单击**创建**。
创建函数后,可以在**开发人员**视角的**拓扑**视图中查看它。