首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >尝试在Raspberry Pi 3B+上运行OpenFaas函数时获取OpenFaas

尝试在Raspberry Pi 3B+上运行OpenFaas函数时获取OpenFaas
EN

Stack Overflow用户
提问于 2018-07-13 12:33:19
回答 1查看 2.6K关注 0票数 3

我正在尝试使用OpenFaas项目和运行在2个Raspberry 3B+上的kubernetes集群来部署一个函数。不幸的是,应该处理函数的吊舱将进入ImageInspectError状态.我试着用Docker直接运行这个函数,它包含在Docker映像中,一切都很好。

我在OpenFaas github上打开了一个OpenFaas,维护人员告诉我直接向Kubernetes社区询问一些线索。

我的第一个问题是: ImageInspectError是什么意思?它从何而来?

这是我掌握的所有信息:

预期行为

应该跑了。

当前行为

代码语言:javascript
复制
NAMESPACE     NAME                                 READY     STATUS              RESTARTS   AGE
kube-system   etcd-masternode                      1/1       Running             1          1d
kube-system   kube-apiserver-masternode            1/1       Running             1          1d
kube-system   kube-controller-manager-masternode   1/1       Running             1          1d
kube-system   kube-dns-7f9b64f644-x42sr            3/3       Running             3          1d
kube-system   kube-proxy-wrp6f                     1/1       Running             1          1d
kube-system   kube-proxy-x6pvq                     1/1       Running             1          1d
kube-system   kube-scheduler-masternode            1/1       Running             1          1d
kube-system   weave-net-4995q                      2/2       Running             3          1d
kube-system   weave-net-5g7pd                      2/2       Running             3          1d
openfaas-fn   figlet-7f556fcd87-wrtf4              1/1       Running             0          4h
openfaas-fn   testfaceraspi-7f6fcb5897-rs4cq       0/1       ImageInspectError   0          2h
openfaas      alertmanager-66b98dd4d4-kcsq4        1/1       Running             1          1d
openfaas      faas-netesd-5b5d6d5648-mqftl         1/1       Running             1          1d
openfaas      gateway-846f8b5686-724q8             1/1       Running             2          1d
openfaas      nats-86955fb749-7vsbm                1/1       Running             1          1d
openfaas      prometheus-6ffc57bb8f-fpk6r          1/1       Running             1          1d
openfaas      queue-worker-567bcf4d47-ngsgv        1/1       Running             2          1d

testfaceraspi不运行。

舱内的原木:

代码语言:javascript
复制
$ kubectl logs testfaceraspi-7f6fcb5897-rs4cq -n openfaas-fn
Error from server (BadRequest): container "testfaceraspi" in pod "testfaceraspi-7f6fcb5897-rs4cq" is waiting to start: ImageInspectError

豆荚描述:

代码语言:javascript
复制
$ kubectl describe pod -n openfaas-fn  testfaceraspi-7f6fcb5897-rs4cq 
Name:           testfaceraspi-7f6fcb5897-rs4cq
Namespace:      openfaas-fn
Node:           workernode/10.192.79.198
Start Time:     Thu, 12 Jul 2018 11:39:05 +0200
Labels:         faas_function=testfaceraspi
                pod-template-hash=3929761453
Annotations:    prometheus.io.scrape=false
Status:         Pending
IP:             10.40.0.16
Controlled By:  ReplicaSet/testfaceraspi-7f6fcb5897
Containers:
  testfaceraspi:
    Container ID:   
    Image:          gallouche/testfaceraspi
    Image ID:       
    Port:           8080/TCP
    Host Port:      0/TCP
    State:          Waiting
      Reason:       ImageInspectError
    Ready:          False
    Restart Count:  0
    Liveness:       exec [cat /tmp/.lock] delay=3s timeout=1s period=10s #success=1 #failure=3
    Readiness:      exec [cat /tmp/.lock] delay=3s timeout=1s period=10s #success=1 #failure=3
    Environment:
      fprocess:  python3 index.py
    Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-5qhnn (ro)
Conditions:
  Type           Status
  Initialized    True 
  Ready          False 
  PodScheduled   True 
Volumes:
  default-token-5qhnn:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  default-token-5qhnn
    Optional:    false
QoS Class:       BestEffort
Node-Selectors:  <none>
Tolerations:     node.kubernetes.io/not-ready:NoExecute for 300s
                 node.kubernetes.io/unreachable:NoExecute for 300s
Events:
  Type     Reason            Age                 From                 Message
  ----     ------            ----                ----                 -------
  Warning  DNSConfigForming  2m (x1019 over 3h)  kubelet, workernode  Search Line limits were exceeded, some search paths have been omitted, the applied search line is: openfaas-fn.svc.cluster.local svc.cluster.local cluster.local heig-vd.ch einet.ad.eivd.ch web.ad.eivd.ch

事件日志:

代码语言:javascript
复制
$ kubectl get events --sort-by=.metadata.creationTimestamp -n openfaas-fn
LAST SEEN   FIRST SEEN   COUNT     NAME                                              KIND         SUBOBJECT                        TYPE      REASON                  SOURCE                  MESSAGE
14m         1h           347       testfaceraspi-7f6fcb5897-rs4cq.1540db41e89d4c52   Pod                                           Warning   DNSConfigForming        kubelet, workernode     Search Line limits were exceeded, some search paths have been omitted, the applied search line is: openfaas-fn.svc.cluster.local svc.cluster.local cluster.local heig-vd.ch einet.ad.eivd.ch web.ad.eivd.ch
4m          1h           75        figlet-7f556fcd87-wrtf4.1540db421002b49e          Pod                                           Warning   DNSConfigForming        kubelet, workernode     Search Line limits were exceeded, some search paths have been omitted, the applied search line is: openfaas-fn.svc.cluster.local svc.cluster.local cluster.local heig-vd.ch einet.ad.eivd.ch web.ad.eivd.ch
10m         10m          1         testfaceraspi-7f6fcb5897-d6z78.1540df9ed8b91865   Pod                                           Normal    Scheduled               default-scheduler       Successfully assigned testfaceraspi-7f6fcb5897-d6z78 to workernode
10m         10m          1         testfaceraspi-7f6fcb5897.1540df9ed6eee11f         ReplicaSet                                    Normal    SuccessfulCreate        replicaset-controller   Created pod: testfaceraspi-7f6fcb5897-d6z78
10m         10m          1         testfaceraspi-7f6fcb5897-d6z78.1540df9eef3ef504   Pod                                           Normal    SuccessfulMountVolume   kubelet, workernode     MountVolume.SetUp succeeded for volume "default-token-5qhnn" 
4m          10m          27        testfaceraspi-7f6fcb5897-d6z78.1540df9eef5445c0   Pod                                           Warning   DNSConfigForming        kubelet, workernode     Search Line limits were exceeded, some search paths have been omitted, the applied search line is: openfaas-fn.svc.cluster.local svc.cluster.local cluster.local heig-vd.ch einet.ad.eivd.ch web.ad.eivd.ch
8m          9m           8         testfaceraspi-7f6fcb5897-d6z78.1540df9f670d0dad   Pod          spec.containers{testfaceraspi}   Warning   InspectFailed           kubelet, workernode     Failed to inspect image "gallouche/testfaceraspi": rpc error: code = Unknown desc = Error response from daemon: readlink /var/lib/docker/overlay2/l: invalid argument
9m          9m           7         testfaceraspi-7f6fcb5897-d6z78.1540df9f670fcf3e   Pod          spec.containers{testfaceraspi}   Warning   Failed                  kubelet, workernode     Error: ImageInspectError

复制步骤(对于bug)

  1. 在一个2节点的OpenFaas集群上部署k8s
  2. faas new testfaceraspi --lang python3-armhf创建函数
  3. handler.py中添加以下代码: 导入json句柄(Req):jsonl = json.loads(req)返回("Found“+ str(jsonl"nbFaces") +”OpenFaas函数中的faces on raspi !")
  4. 更改.yml提供程序中的网关和图像:名称: faas:http://127.0.0.1:31112 功能: testfaceraspi: lang: python3-armhf处理程序:./testfaceraspi映像: gallouche/testfaceraspi
  5. 运行faas build -f testfacepi.yml
  6. 在DockerHub中使用docker login登录
  7. 运行faas push -f testfacepi.yml
  8. 运行faas deploy -f testfacepi.yml

你的环境

  • FaaS版本(来自:faas-cli version的完整输出): 提交: 3995a8197f1df1ecdf524844477cffa04e4690ea版本: 0.6.11
  • Docker版本(来自:docker version的完整输出): Client: Version: 18.04.0-ce API版本: 1.37 Git版本: go1.9.4 Git提交: 3d479c0构建: Tue Apr 10 18:25:24 2018年OS/Arch: linux/arm实验: false Orchestrator:群服务器: version: 18.04.0-ce API版本: 1.37 (最低版本1.12) Go版本: go1.9.4 Git提交: 3d479c0构建:2018年4月10日18:21:25 OS/Arch: linux/arm实验: false
  • 操作系统和版本(例如Linux、Windows、MacOS): 分发服务器ID: Raspbian描述: Raspbian /Linux9.4(弹出式)发行版: 9.4代码

提前谢谢,如果你还需要更多的信息,请告诉我。

盖洛什

EN

回答 1

Stack Overflow用户

发布于 2018-07-13 13:00:02

我看到了这个错误,因为Kubernetes不支持docker版本。在Kubernetes版本1.11中,支持的版本为1.11.2至1.13.1和17.03.x。

我无法用OpenFaaS测试解决方案。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51325211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档