为啥 Kubernetes 的容器在 runsc (gVisor) 上作为 Docker 中的运行时运行时会失败?

Posted

技术标签:

【中文标题】为啥 Kubernetes 的容器在 runsc (gVisor) 上作为 Docker 中的运行时运行时会失败?【英文标题】:Why do Kubernetes' containers fail when ran on runsc (gVisor) as a runtime in Docker?为什么 Kubernetes 的容器在 runsc (gVisor) 上作为 Docker 中的运行时运行时会失败? 【发布时间】:2019-02-24 18:16:08 【问题描述】:

我正在使用 Docker 运行单个主 Kubernetes 集群。我想在 Kubernetes 上尝试 runsc (gVisor)。我只是想在一个单独的沙箱中启动每个容器。于是我将runsc设置为默认运行时并重启了Docker服务。令我惊讶的是,所有 Kubernetes 的容器都失败了(通过 docker ps 检查)。导致这种情况的异常是什么? gVisor+Docker+Kubernetes还有其他的使用方式吗?

我使用正确的要求来运行它们。

PS:我只是一个初学者。

【问题讨论】:

尝试按照以下步骤更新您的问题:寻求调试帮助的问题(“为什么这段代码不起作用?”)必须包含所需的行为、特定问题或在问题本身中重现错误和最短的代码。没有清晰的问题陈述的问题对其他读者没有用处。请参阅:How to create a Minimal, Complete, and Verifiable example。 注意:建议潜伏在 Stack Overflow 上,以便及时回复 cmets。您在发布后大约 9 分钟收到了一些很好的反馈,大约四个小时后,帖子仍然没有改变,并且获得了密切的投票。现在回复会更容易,而不是等待问题结束再进行编辑。 【参考方案1】:

感谢您试用 gVisor!抱歉,它不适合你。

在 gVisor 中运行 Kubernetes Pod 仍然是相当实验性的。它可以工作,但现在有点难以配置。我们正在努力让这变得更容易。

你能用 Docker(不是 Kubernetes)运行 gVisor 吗?请参阅此处的说明: https://github.com/google/gvisor#configuring-docker

如果失败,请提交错误报告: https://github.com/google/gvisor/issues

如果您可以包含调试日志,这将有助于我们诊断任何故障。 https://github.com/google/gvisor#debugging

【讨论】:

以上是关于为啥 Kubernetes 的容器在 runsc (gVisor) 上作为 Docker 中的运行时运行时会失败?的主要内容,如果未能解决你的问题,请参考以下文章

为啥 Zeppelin-Spark 解释器没有挂载 Kubernetes 服务帐户

为啥使用尤里卡?

docker和k8s的关系

细说kubernetes - 为啥是pod?

Docker 不香吗,为啥还要 K8s ?

2. Docker和k8s(Kubernetes)有啥关系