Я пытаюсь настроить простой POC бессерверной инфраструктуры Apache OpenWhisk, работающей на Kubernetes. Я использую MacOS с Minikube. Вот спецификации:
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
Установите OpenWhisk с помощью Helm:
$ 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
192.168.49.2
IP-адрес Minikube был подтвержден путем ввода:
$ 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
Наконец, я создал простое действие hello world, следуя этим инструкциям, взятым непосредственно из документации OpenWhisk а>. Когда я пытаюсь протестировать действие, я получаю тайм-аут сети:
$ wsk action create helloJS hello.js
ошибка: невозможно создать действие 'helloJS': поставить https://192.168.49.2:31001/api/v1/namespaces/_/actions/helloJS?overwrite=false: набрать tcp 192.168.49.2:31001: таймаут ввода-вывода
Я попытался включить режим отладки с помощью переключателя -d
, но не смог понять, какие отзывы я вижу.
Мне кажется, что здесь либо срабатывает ошибка, либо, возможно, Minikube на Mac никогда не предназначался для полной поддержки OpenWhisk.
Может ли кто-нибудь предложить, что я могу попробовать, чтобы эта настройка и действие работали?