【发布时间】:2020-07-20 18:49:57
【问题描述】:
我有一个审计 pod,它具有生成报告文件的逻辑。目前,该文件存在于 pod 本身中。我只有一个 pod,只有一个副本。
我知道,我可以运行 kubectl cp 从我的 pod 中复制这些文件。这条命令必须在 Kubernetes 节点上执行,但是由于很多限制,任务是从 Pod 本身复制文件。
由于限制,我无法使用持久卷。我检查了 Kubernetes API,但找不到任何可以用来复制的东西。
还有其他方法可以将该文件从 pod 中复制出来吗?
【问题讨论】:
-
你有没有研究过 Kubernetes 的卷系统将数据存储在 pod 之外,它可以在被删除和重新创建的 pod 后仍然存在的地方?或者将数据推送到数据库、消息队列或某处的云存储中?
-
我不应该使用 kubernetes 卷。我的应用程序是一个轻量级进程,不建议使用 db。对于消息查询,同样应该有一个接收器将内容放入存储中。我没有任何云存储。我只能控制我的 pod 和我的应用程序。我认为 K8s API 是解决这个问题的好方法,但没有运气
-
@subrat 你能解释一下你在问题中提到的限制吗?
-
@OhHiMark 抱歉延迟。 1) 我的用户无法访问 pod 名称,并且它们不应该在 pod 上(执行 cp/exec)。 2)我不能使用 PVC,因为我使用 helm,我的服务是部署类型,并且我的容器在不同的用户中运行,我不能将 PV 作为我的 PVC 的输入(因为它以 root 身份安装,即使 securityContext. fsGroup 提供)。动态 PV 没用,因为每次重启 PV 都会被删除。
-
@subrat 有很多限制。请告诉我,你能在你的用例中使用边车容器吗?