Google Compute Engine 上的 Cloud Foundry 无法创建容器

Cloud foundry on Google Compute engine can't create container

我对 Cloud Foundry 还很陌生。我已经通过本指南 source1 and source2.

为 google 计算引擎平台添加了云铸造厂

Terraform 用于创建所需的基础设施。看起来一切都很好,我在部署 Cloud Foundry 本身和 bosh cck 命令 returns 期间没有收到任何错误,没有任何问题。但是当我尝试部署我的 hello world 应用程序时,我在 cf push 命令后在终端中收到下一条错误消息:

正在创建容器 未能创建容器

失败

重新启动应用程序时出错:StagingError

检查日志文件后,我发现了下一条消息:

{
   "timestamp":"1474637304.026303530",
   "source":"garden-linux",
   "message":"garden-linux.loop-mounter.mount-file.mounting",
   "log_level":2,
   "data":{
      "destPath":"/var/vcap/data/garden/aufs_graph/aufs/diff/08829a3252c1d60729e3b5482b0fb109652c9ab5beff9724e4e4ae756a0bc3ce",
      "error":"exit status 32",
      "filePath":"/var/vcap/data/garden/aufs_graph/backing_stores/08829a3252c1d60729e3b5482b0fb109652c9ab5beff9724e4e4ae756a0bc3ce",
      "output":"mount: wrong fs type, bad option, bad superblock on /dev/loop0,\n       missing codepage or helper program, or other error\n       In some cases useful info is found in syslog - try\n       dmesg | tail  or so\n\n",
      "session":"2.276"
   }
}{
   "timestamp":"1474637304.026949406",
   "source":"garden-linux",
   "message":"garden-linux.pool.acquire.provide-rootfs-failed",
   "log_level":2,
   "data":{
      "error":"mounting file: mounting file: exit status 32",
      "handle":"ec6e7469-0ef0-48a8-bcd0-82f4a2ea173f-5de2e641d9284aeea209ca447ffffb6d",
      "session":"9.545"
   }
}
{
   "timestamp":"1474637304.027062416",
   "source":"garden-linux",
   "message":"garden-linux.garden-server.create.failed",
   "log_level":2,
   "data":{
      "error":"mounting file: mounting file: exit status 32",
      "request":{
         "Handle":"ec6e7469-0ef0-48a8-bcd0-82f4a2ea173f-5de2e641d9284aeea209ca447ffffb6d",
         "GraceTime":0,
         "RootFSPath":"/var/vcap/packages/rootfs_cflinuxfs2/rootfs",
         "BindMounts":[
            {
               "src_path":"/var/vcap/data/executor_cache/6942123d3462ad9d21a45729c3cae183-1474475979582384649-1.d",
               "dst_path":"/tmp/lifecycle"
            }
         ],
         "Network":"",
         "Privileged":true,
         "Limits":{
            "bandwidth_limits":{

            },
            "cpu_limits":{
               "limit_in_shares":512
            },
            "disk_limits":{
               "inode_hard":200000,
               "byte_hard":6442450944,
               "scope":1
            },
            "memory_limits":{
               "limit_in_bytes":1073741824
            }
         }
      },
      "session":"11.44187"
   }
}{
   "timestamp":"1474637304.034646988",
   "source":"garden-linux",
   "message":"garden-linux.garden-server.destroy.failed",
   "log_level":2,
   "data":{
      "error":"unknown handle: ec6e7469-0ef0-48a8-bcd0-82f4a2ea173f-5de2e641d9284aeea209ca447ffffb6d",
      "handle":"ec6e7469-0ef0-48a8-bcd0-82f4a2ea173f-5de2e641d9284aeea209ca447ffffb6d",
      "session":"11.44188"
   }
}

同时在 dmesg |下一个我得到的尾巴:

[161023.238082] aufs test_add:283:garden-linux[7681]: uid/gid/perm /var/vcap/data/garden/aufs_graph/aufs/diff/d350dcd30f6d6f8b37eabe06a3b73bcea0a87f9aff4edf15f12792269fc9f97c 4294967294/4294967294/0755, 0/0/0755 [161023.238109] aufs au_opts_verify:1597:garden-linux[7681]: dirperm1 breaks the protection by the permission bits on the lower branch [161023.413392] device wtj3qdqhig0t-0 entered promiscuous mode

我不确定这个问题是否相关或根本不是问题,但我 post 在这里是为了确保我没有遗漏任何内容。

我不知道如何解决这个问题,我应该在哪里寻找 terraform 脚本或 bosh 清单文件的解决方案。我们有微服务架构,三个节点在node js上,一个在ruby上,所以部署对我们来说是很重要的问题。

这是我的申请manifest.yml文件:

---
applications:
- name: hello_cloud
  memory: 128M
  buildpack: https://github.com/cloudfoundry/nodejs-buildpack
  instances: 1
  random-route: true
  command: "node server.js"

我的目标是能够使用 Cloud Foundry 部署应用程序。如果您有任何其他问题或我写的内容不清楚,请随时给我写信。

此问题与 garden 和 4.4 Linux 内核之间的冲突有关。要使用示例 cloudfoundry manfest,请使用以下 stemcell:

bosh upload stemcell https://bosh.io/d/stemcells/bosh-google-kvm-ubuntu-trusty-go_agent?v=3262.19
bosh deploy

由于配额问题,您可能需要在重新部署之前删除 cf 部署。