【问题标题】:Kubernetes docker flannel subnet file not found未找到 Kubernetes docker flannel 子网文件
【发布时间】:2016-03-01 08:30:41
【问题描述】:

我想在 docker 上设置一个 kubernetes 多节点集群,如下 http://kubernetes.io/v1.1/docs/getting-started-guides/docker-multinode/master.html 在 ubuntu 服务器上。

单节点设置工作正常。但是对于多节点设置,我遇到了几个问题:https://github.com/kubernetes/kubernetes/issues/22256

最重要的是:

sudo docker -H unix:///var/run/docker.sock exec someHash cat /run/flannel/subnet.env
cat: can't open '/run/flannel/subnet.env': No such file or directory

我不认为这是 1.10 docker 的问题? https://github.com/kubernetes/kubernetes/issues/19720

这可能与https://groups.google.com/forum/#!topic/google-containers/nGX1XfZ0bE8 相似(参见leto12, 01.06.15 的帖子)

leto12 /var/lib/docker/aufs/diff/8f390f0c044c536483a090913290a0bffb9820f0e6376133f8299a98facbd199/tmp/flannel建议的查找显示了这个文件 - 但是,我无法访问它。

【问题讨论】:

  • etcd 启动了吗?您可以尝试将 docker 执行到法兰绒容器中并卷曲 etcd 吗? subnet.env 通过 etcd 获取子网后由 flannel 写入。您应该能够通过 etcdls ls --recursive 查看分配给给定节点的实际子网。
  • 感谢您的提示 - 不幸的是(在重新执行这些步骤和重新启动后)我已经在之前的步骤中失败了 sudo docker -H unix:///var/run/docker.sock run --net=host gcr.io/google_containers/etcd:2.0.12 etcdctl set /coreos.com/network/config '{ "Network": "10.1.0.0/16" }' 导致 Error: cannot sync with the cluster using endpoints http://127.0.0.1:4001, http://127.0.0.1:2379
  • 我在另一台机器上从头开始,并克服了两个错误!
  • 对你来说可能有点晚了,但我想分享一下:在我的情况下,这个问题与错误的 Docker-Kubernetes 设置有关,它导致了像 @987654330 这样的容器@ 卡在 ContainerCreation 中。我的完整答案可以在here找到。

标签: ubuntu docker containers kubernetes


【解决方案1】:

“subnet.env”文件由 Flannel 生成。 Docker 应该在 Flannel 运行后启动。请尝试以下步骤:

Step 1: stop docker and flannel;
Step 2: delete docker0 and flannel.1;
Step 3: start flannel and check its status;
Step 4: start docker and check its status.

检查 docker 是否使用参数 "--bip" "--ip-masq" and "--mtu" 运行。

【讨论】:

    猜你喜欢
    • 2017-12-02
    • 2017-10-14
    • 2020-05-24
    • 2019-04-06
    • 1970-01-01
    • 2018-03-06
    • 2019-04-20
    • 2021-09-17
    • 2017-07-11
    相关资源
    最近更新 更多