无法将基本 OpenWhisk 操作部署到 Kubernetes 运行 Minikube

Cannot deploy basic OpenWhisk action onto Kubernetes running with Minikube

我正在尝试在 Kubernetes 上设置 Apache OpenWhisk 无服务器框架的简单 POC 运行。我在 Minikube 中使用 MacOS。以下是规格:

Kubernetes: v1.20.2
Minikube: v1.17.0
Docker: 20.10.0-rc1, 4.26GB allocated

以下是 Minikube 的设置步骤:

$ minikube start --cpus 2 --memory 4096 --kubernetes-version=v1.20.2
$ minikube ssh -- sudo ip link set docker0 promisc on
$ kubectl create namespace openwhisk
$ kubectl label nodes --all openwhisk-role=invoker

使用 Helm 安装 OpenWhisk:

$ helm install owdev ./helm/openwhisk -n openwhisk --create-namespace -f mycluster.yaml

配置 Whisk CLI:

$ wsk property set --apihost 192.168.49.2:31001
$ wsk property set --auth 23bc46b1-71f6-4ed5-8c54-816aa4f8c502:123zO3xZCLrMN6v2BKK1dXYFpXlPkccOFqm12CdAsMgRU4VrNZ9lyGVCGuMDGIwP

Minikube 的 192.168.49.2 IP 地址已通过输入确认:

$ minikube ip

这是我的 mycluster.yaml 文件:

whisk:
  ingress:
    type: NodePort
    apiHostName: 192.168.49.2
    apiHostPort: 31001

nginx:
  httpsNodePort: 31001

我检查了我的 OpenWhisk 设置的运行状况:

$ kubectl get pods -n openwhisk
NAME                                                          READY   STATUS      RESTARTS   AGE
owdev-alarmprovider-5b86cb64ff-q86nj                          1/1     Running     0          137m
owdev-apigateway-bccbbcd67-7q2r8                              1/1     Running     0          137m
owdev-controller-0                                            1/1     Running     13         137m
owdev-couchdb-584676b956-7pxtc                                1/1     Running     0          137m
owdev-gen-certs-7227t                                         0/1     Completed   0          137m
owdev-init-couchdb-g6vhb                                      0/1     Completed   0          137m
owdev-install-packages-sg2f4                                  1/1     Running     0          137m
owdev-invoker-0                                               1/1     Running     1          137m
owdev-kafka-0                                                 1/1     Running     0          137m
owdev-kafkaprovider-5574d4bf5f-vvdb9                          1/1     Running     0          137m
owdev-nginx-86749d59cb-mxxrt                                  1/1     Running     0          137m
owdev-redis-d65649c5b-vd8d4                                   1/1     Running     0          137m
owdev-wskadmin                                                1/1     Running     0          137m
owdev-zookeeper-0                                             1/1     Running     0          137m
wskowdev-invoker-00-13-prewarm-nodejs10                       1/1     Running     0          116m
wskowdev-invoker-00-14-prewarm-nodejs10                       1/1     Running     0          116m
wskowdev-invoker-00-15-whisksystem-invokerhealthtestaction0   1/1     Running     0          112m

最后,我在 these instructions taken directly from the OpenWhisk documentation 之后创建了一个简单的 hello world 操作。当我尝试测试操作时,出现网络超时:

$ wsk action create helloJS hello.js

error: Unable to create action 'helloJS': Put "https://192.168.49.2:31001/api/v1/namespaces/_/actions/helloJS?overwrite=false": dial tcp 192.168.49.2:31001: i/o timeout

我尝试使用 -d 开关打开调试模式,但无法充分利用我看到的反馈。

我的感觉是这里有一个错误,或者 Mac 上的 Minikube 从未打算在 OpenWhisk 上得到完全支持。

任何人都可以建议我可以尝试使此设置和操作正常运行吗?

我们不久前停止为 Minikube 维护 OpenWhisk。随着 MacOS 上 Docker 桌面内置的成熟 Kubernetes 集群的可用性,以及 Windows 和 kind (https://kind.sigs.k8s.io) 在我们所有支持 Minikube 的平台上可用工作量超过了它的价值。

等待 pod(以名称 owdev-install-packages- 开头)包完成。 这可能需要一些时间,之后它应该会起作用。