docker - 当我使用 s3fs 将 s3 存储桶挂载到 Kubernetes Pod 时,未列出来自 S3 存储桶的文件
问题描述
我正在尝试使用 s3fs 将 Amazon S3 存储桶与 Kubernetes pod 一起挂载。我关注了这篇文章 https://icicimov.github.io/blog/virtualization/Kubernetes-shared-storage-with-S3-backend/
用于使用 s3fs 作为 docker 映像设置存储。但是我使用 IAM 角色而不是使用访问密钥和秘密密钥对来自 Kubernetes Pod 的 S3 存储桶进行身份验证。这就是我所做的
- 我创建了一个单独的 IAM 角色和 IAM 策略,具有读取和写入文件到 S3 存储桶的必要权限
- 我还创建了一个单独的 docker 镜像,安装了 s3fs 并在 docker 入口点执行以下命令
exec /usr/local/bin/s3fs $AWS_S3BUCKET $MNT_POINT -f -o iam_role=${AWS_IAM_ROLE} -o endpoint=${AWS_S3BUCKET_REGION} -o use_cache=/tmp
- 使用必要的环境变量创建 K8 部署脚本,并将创建的 docker 工件部署到 EKS 集群。我还创建了 K8 ServiceAccount,并添加了 IAM 角色注释。
- 当我部署创建的 docker 工件时,我可以看到该 pod 已成功创建,并且能够看到 pod 内的 ServiceAccount 令牌。
- 但是我无法从 Kubernetes pod 中看到任何日志,每当我尝试访问日志时,pod 都会在一段时间后退出。
- 我还尝试进入 pod 并尝试运行以下命令
/usr/local/bin/s3fs s3-bucket /data -f -o iam_role=IAM_role -o endpoint='us-east-1' -o use_cache=/tmp
运行上述命令并在一段时间后退出 pod 时收到以下消息
[INF] curl.cpp:InitMimeType(438):从 /etc/mime.types [INF] s3fs.cpp:s3fs_init(3304) 加载 mime 信息:使用 OpenSSL 初始化 v1.88(commit:6d65e30)
关于这个问题的任何建议都会很棒。
解决方案
推荐阅读
- r - 使用(gtsummary)tbl_svysummaary 函数来显示survey.design 对象的置信区间?
- python - 有没有办法在每次测试之间不从测试数据库中删除数据
- xpath - xpath 生成随机数
- react-native - 将参数传递给选项卡导航器中位于堆栈导航器内的所有选项卡
- linux - 如果窃取增加,CPU使用率会增加吗?
- node.js - nodejs文件中如何执行命令npm init
- wordpress-theming - 在 Polylang 中显示为字符串的标志
- unity3d - 如何使 UI 元素呈现在 Unity 中的对象后面
- if-statement - 如何为列表中的相同数字设置不同的(如果)参数?
- python - 模拟网络驱动程序调用python