本文共 2848 字,大约阅读时间需要 9 分钟。
apache服务 功能错误
是一个无服务器的开源云平台,允许您执行代码以响应各种规模的事件。 Apache OpenWhisk为开发人员提供了基于四个概念的简单编程模型: action , package , trigger和rules 。
动作是在Apache OpenWhisk平台上运行的无状态代码段。 您可以通过 , , , , 或任何二进制兼容的可执行文件(包括程序和打包为Linux容器的自定义可执行文件)来开发动作(或函数)。 可以显式调用动作或响应事件来运行动作。 在这两种情况下,每次执行操作都会产生一个激活记录,该记录由唯一的激活ID标识。 动作的输入和动作的结果是键值对的字典,其中键是字符串,值是有效的JSON值。
软件包提供事件提要; 任何人都可以创建新程序包供他人使用。
与这些供稿关联的触发器在事件发生时触发 ,开发人员可以使用规则将动作(或函数)映射到触发器。
以下命令用于在Apache OpenWhisk中创建,更新,删除和列出操作:
Usage: wsk action [command] Available Commands: create create a new action update update an existing action, or create an action if it does not exist invoke invoke action get get action delete delete action list list all actions in a namespace or actions contained in a package
让我们探讨一下它如何起作用。 首先,下载在您的工作站上创建一个单节点本地 (为Red Hat OpenShift供电的Kubernetes社区分发)集群:
$ minishift start --vm-driver=virtualbox --openshift-version=v3.10.0
Minishift启动并运行后,您可以使用admin / admin登录并创建一个新项目(命名空间)。 的项目提供了部署Apache OpenWhisk所需的OpenShift模板:
$ eval $(minishift oc-env) && eval $(minishift docker-env) $ oc login $(minishift ip):8443 -u admin -p admin $ oc new-project faas $ oc project -q $ oc process -f https://git.io/openwhisk-template | oc create -f -
Apache OpenWhisk由许多必须相互启动和同步的组件组成,该过程可能需要花费几分钟才能稳定下来。 以下命令将等待,直到组件容器运行:
$ while $(oc get pods -n faas controller-0 | grep 0/1 > /dev/null); do sleep 1; done
您还可以通过以下方式查看状态:
$ while [ -z "`oc logs controller-0 -n faas 2>&1 | grep "invoker status changed"`" ]; do sleep 1; done
Maven原型是一个Maven项目模板工具包。 为了创建示例Java Action项目,您不会引用中央Maven原型,但是您需要首先生成自己的Maven原型,如下所示:
$ git clone https://github.com/apache/incubator-openwhisk-devtools $ cd incubator-openwhisk-devtools/java-action-archetype $ mvn -DskipTests clean install $ cd $PROJECT_HOM
现在让我们创建一个简单的Java Action,将其部署到OpenWhisk,最后调用它以查看结果。 创建Java Action,如下所示:
$ mvn archetype:generate \ -DarchetypeGroupId=org.apache.openwhisk.java \ -DarchetypeArtifactId=java-action-archetype \ -DarchetypeVersion=1.0-SNAPSHOT \ -DgroupId=com.example \ -DartifactId=hello-openwhisk \ -Dversion=1.0-SNAPSHOT \ -DinteractiveMode=false
接下来,构建Java应用程序并在本地Minishift上部署到OpenWhisk:
$ cd hello-openwhisk $ mvn clean package $ wsk -i action create hello-openwhisk target/hello-openwhisk.jar --main com.example.FunctionApp
创建函数hello-openwhisk
,通过调用它来验证函数:
$ wsk -i action invoke hello-openwhisk --result
由于所有OpenWhisk操作都是异步的,因此您需要添加--result
才能在控制台上显示结果。 成功执行命令将显示以下输出:
{"greetings": "Hello! Welcome to OpenWhisk" }
借助Apache OpenWhisk,您可以使用流行的语言(如 ,Swift,Java,Go, ,Python, 和编写函数,并使用容器构建组件。 它轻松地支持本地和内部云基础架构(例如和许多部署选项。
翻译自:
apache服务 功能错误
转载地址:http://seczd.baihongyu.com/