gpt4 book ai didi

amazon-web-services - 在 s3 和 kubernetes 容器之间复制文件

转载 作者:行者123 更新时间:2023-12-04 08:43:26 26 4
gpt4 key购买 nike

我知道如何在本地机器和 Kubernetes 容器之间复制文件:

kubectl cp /local_dir/some_file container:/remote_dir/some_file
并使用 AWS CLI 从 s3 存储桶到 EC2:
aws s3 cp remote local
但不确定如何在 s3 和 Kubernetes 之间进行复制。在谷歌搜索这个问题时,我遇到了 skbn 库,但我想知道是否有办法在不安装新软件包的情况下做到这一点。

最佳答案

定义一个 initContainer安装一个 PersistentVolume并使用 aws CLI 或其他一些工具从您的 S3 存储桶中检索文件并将它们复制到 PV。然后将此 PV 也安装在您的普通容器中,并相应地引用您检索到的文件。
如果您将 initContainer 配置为通过环境变量接受您的 AWS 访问和 secret 访问 key 以及 S3 存储桶,并且您在运行时传递这些信息,则可以获得奖励积分。
或者,在将容器部署到 Kubernetes 之前,将文件作为 CI/CD 管道的一部分进行检索。并相应地使用文件或块存储将它们装入卷中。
编辑:看起来像 AWS S3 Operator也存在。然而,project不活跃,也不是由 AWS 正式创建的。我不建议使用它。特别是当您可以将此过程编码为管道或部署 list 的一部分时。
编辑 2:我也不得不提到容器是无状态的,这可能就是你问这个问题的原因。虽然 kubectl cp存在,它基本上是一种将文件导入 Kubernetes 的非标准方式。通常你会通过使用由 StorageClass 提供的 PersistentVolume 来做到这一点。 .使用 Docker,执行后对操作系统所做的任何更改都不会持久化;当容器退出时该层被丢弃。因此,与其像复制 VM 那样将文件复制到容器中,不如尝试使用卷挂载来确保它们从一开始就在那里。

关于amazon-web-services - 在 s3 和 kubernetes 容器之间复制文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64449374/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com