【发布时间】:2019-04-02 12:16:02
【问题描述】:
我想将 Kubernetes 节点上的 S3 存储桶复制为 DaemonSet,因为新节点在启动后也会立即获得 s3 存储桶副本, 我更喜欢将 S3 副本复制到 Kubernetes 节点,因为将 S3 作为 AWS API 直接复制到 Pod 意味着多个 Pod 需要多次调用,并且每次 Pod 启动时复制内容都需要时间。
【问题讨论】:
标签: amazon-s3 kubernetes kops daemonset
我想将 Kubernetes 节点上的 S3 存储桶复制为 DaemonSet,因为新节点在启动后也会立即获得 s3 存储桶副本, 我更喜欢将 S3 副本复制到 Kubernetes 节点,因为将 S3 作为 AWS API 直接复制到 Pod 意味着多个 Pod 需要多次调用,并且每次 Pod 启动时复制内容都需要时间。
【问题讨论】:
标签: amazon-s3 kubernetes kops daemonset
假设您的 S3 内容是静态的并且不经常更改。我相信不仅仅是DaemonSet,使用一次性Job 将整个S3 存储桶复制到本地磁盘更有意义。在完全复制 S3 存储桶之前,尚不清楚如何向 kube-scheduler 发出节点尚未准备好的信号。但是,也许您可以在作业完成之前taint您的节点,并在作业完成后移除污点。
另请注意,S3 本质上很慢,并且旨在一次用于处理(读取/写入)单个文件,因此如果您的存储桶有大量数据,则需要很长时间才能复制到节点磁盘.
如果您的 S3 内容是动态的(不断变化),那么这将更具挑战性,因为您必须同步文件。您的应用可能需要缓存架构,您可以在其中到本地磁盘查找文件,如果不存在,则向 S3 发出请求。
【讨论】: