serverless-OpenWhisk安装

Posted 程序员石磊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了serverless-OpenWhisk安装相关的知识,希望对你有一定的参考价值。

1.安装

默认我们已经有了一个k8s集群,采用helm方式安装。以下操作均在 Master 节点执行。

helm要求Helm v3.2.0或以上版本。

多节点worker打标签
如果要将OpenWhisk部署到具有多个工作节点的群集,我们建议使用节点关联将用于OpenWhisk控制平面的计算节点与用于执行用户函数的计算节点分开。通过将每个节点标记为 openwhisk-role = 调用者。在默认配置中,使用KubernetesContainerFactory,节点标签与Pod亲和力结合使用,以通知Kubernetes调度程序如何放置工作,从而使用户操作不会干扰OpenWhisk控制平面。当使用非默认dockercontainer erfactory时,OpenWhisk假定它独占使用这些调用者节点,并将直接安排对它们的工作,完全绕过Kubernetes调度程序。对于每个节点<INVOKER_NODE_NAME>你想成为调用者,执行

kubectl label node <INVOKER_NODE_NAME> openwhisk-role=invoker

kubectl label node instance-4mll599u-2 openwhisk-role=invoker
kubectl label node instance-4mll599u-3 openwhisk-role=invoker
首先下载 OpenWhisk 部署文件并进入文件夹。

git clone https://github.com/apache/openwhisk-deploy-kube.git
cd openwhisk-deploy-kube

新建 mycluster.yaml 文件后续使用,这里我们采用了最基本的安装需求。注意将192.168.124.129替换成自己的 Master IP.

whisk:
  ingress:
    type: NodePort
    apiHostName: 192.168.124.129
    apiHostPort: 31001
nginx:
  httpsNodePort: 31001
invoker:
  containerFactory:
    impl: "kubernetes"

使用 Helm 安装 OpenWhisk 并配置 WSK CLI。注意将192.168.124.129替换成自己的 Master IP.

helm install owdev ./helm/openwhisk -n openwhisk --create-namespace -f mycluster.yaml
wsk property set --apihost 192.168.124.129:31001
wsk property set --auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP

等待10分钟左右,OpenWhisk 便会部署成功。期间可以使用kubectl get pods -n openwhisk查看 Pod 的状态。部署成功后,Pod 的状态应该全部变为Running或者Complete.

2.1 踩坑的地方

helm中的脚本有从github拉代码,由于百度云访问github容易中断,因此会出现Pod启动失败。如下图所示:

建议把脚本中用到的仓库导入gitee仓库,地址批量替换成gitee仓库地址,用helm打包后再进行部署,即可解决问题。

以上是关于serverless-OpenWhisk安装的主要内容,如果未能解决你的问题,请参考以下文章

编写假定大小的数组导致“上限不得省略...”

将假定返回 id

HTML5 假定 Mime 类型

scrapy3_ 安装指南

2625 雷达安装

安装和配置Tomcat