无需使用 kubernetes 运行 aws configure 即可访问 S3 存储桶

Ric*_*dão 0 amazon-s3 aws-cli kubernetes

我有一个 S3 存储桶,其中包含一些 sql 脚本和一些使用 mysqldump 的备份文件。

我还有一个 .yaml 文件,用于部署新的 mariadb 映像。

由于我对 kubernetes 还不是很有经验,如果我想将这些备份文件之一恢复到 pod 中,我需要重击它,运行 aws cli,插入我的凭据,然后在本地同步存储桶并运行 mysql < backup .sql

显然,这破坏了全自动部署的概念。

所以,问题是……我怎样才能安全地使这个 pod 立即配置为访问 S3?

Cro*_*rou 5

我认为您应该考虑在 pod 内安装 S3 存储桶。

这可以通过例如s3fs-fuse来实现。

有两篇关于在 Kubernetes pod 中安装 S3 存储桶Kubernetes 与 S3 后端共享存储的好文章,我建议阅读这两篇文章以了解其工作原理。

您基本上必须从 Dockerfile 构建自己的映像并提供必要的 S3 存储桶信息和AWS 安全凭证

挂载存储后,您将能够通过以下方式从中调用脚本:

apiVersion: v1
kind: Pod
metadata:
  name: test-world
spec:  # specification of the pod’s contents
  restartPolicy: Never
  containers:
  - name: hello
    image: debian
    command: ["/bin/sh","-c"]
    args: ["command one; command two && command three"]
Run Code Online (Sandbox Code Playgroud)