1

我想将 Kubernetes 节点上的 S3 存储桶复制为 DaemonSet,因为新节点一旦启动也会获得 s3 存储桶副本,我更喜欢将 S3 副本复制到 Kubernetes 节点,因为将 S3 直接复制到 pod 作为AWS API 意味着多个 pod 需要多次调用,并且每次 pod 启动时复制内容都需要时间。

4

1 回答 1

1

假设您的 S3 内容是静态的并且不会经常更改。我相信DaemonSet使用一次性作业将整个 S3 存储桶复制到本地磁盘更有意义。在完全复制 S3 存储桶之前,尚不清楚如何向 kube-scheduler 发出节点尚未准备好的信号。但是,也许您可taint​​以在作业完成之前您的节点并在作业完成后移除污点。

另请注意,S3 本质上很慢,并且旨在一次用于处理(读取/写入)单个文件,因此如果您的存储桶有大量数据,则需要很长时间才能复制到节点磁盘。

如果您的 S3 内容是动态的(不断变化的),那么这将更具挑战性,因为您必须同步文件。您的应用程序可能必须缓存架构,您可以在其中去本地磁盘查找文件,如果它们不存在,则向 S3 发出请求。

于 2018-10-29T17:35:56.480 回答