【问题标题】:Does Istio envoy proxy sidecar has anything to do with container filesystem?Istio envoy 代理 sidecar 与容器文件系统有什么关系吗?
【发布时间】:2020-07-07 17:26:24
【问题描述】:

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

错误信息是“keyfile permissions too open”

当我分析发生了什么时,密钥文件来自 /etc/secrets-volume,它从 kubernetes 秘密挂载到 statefulset。

文件权限是 440 而不是 400。因此 MongoDB 开始抱怨“权限太开放”并且 pod 进入 Crashbackloopoff。

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

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

【问题讨论】:

  • 嗨,istio 注入 MongoDB 是一项非常复杂的任务。注入使用 statefulset 的 MongoDB 更是如此。如果您希望您的服务能够访问 MongoDB,则可以使用 ServiceEntry 而不是 sidecar 注入。你会对此感兴趣吗?

标签: mongodb kubernetes istio


【解决方案1】:

istio sidecar 注入并不总是适用于 istio 文档guide 中提到的所有类型的容器。这些容器应该从 istio sidecar 注入中排除。

如果使用StatefulSets 部署的数据库,一些容器可能是临时的或用作可能最终陷入崩溃循环或其他问题状态的操作员。

还有另一种方法可以完全不注入 istio 数据库,只需将它们添加为带有 ServiceEntry 对象的外部服务。在 istio 文档中有完整的 blog post 如何专门使用 MongoDB 来做到这一点。该指南有点过时,因此请务必参考当前的documentation page 获取ServiceEntry,其中还有使用外部 MongoDB 的示例。

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-07-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-21
    • 2010-09-20
    相关资源
    最近更新 更多