Istio envoy代理sidecar是否与容器文件系统有关?

时间:2020-07-07 17:26:24

标签: mongodb kubernetes istio

最近我正在将Istio添加到我的kubernetes集群中。当对部署MongoDB statefulset的名称空间之一启用istio时,MongoDB无法启动。

错误消息是“密钥文件权限太开放”

当我分析发生了什么事情时,密钥文件来自/ etc / secrets-volume,该文件已从kubernetes秘密挂载到状态集。

文件许可权是440,而不是400。由于这个MongoDB,人们开始抱怨“权限太开放”,吊舱进入了Crashbackloopoff。

当我在该命名空间中禁用Istio注入时,MongoDB正常运行。

这是怎么回事? Istio是否与容器文件系统有关,尤其是默认权限?

1 个答案:

答案 0 :(得分:1)

istio sidecar注入并不总是适用于istio文档guide中提到的所有类型的容器。这些容器应避免进行istio边车注入。

如果使用StatefulSets部署数据库,则某些容器可能是临时的或用作运算符,最终可能导致崩溃循环或其他问题状态。

还有一种替代方法是根本不注入数据库,而只是将它们添加为带有ServiceEntry对象的外部服务。 istio文档中有整个blog post,特别是如何使用MongoDB做到这一点。该指南几乎没有过时,因此请务必参考当前的ServiceEntry的{​​{3}},其中也包含使用外部MongoDB的示例。

希望有帮助。