opencurve / curveadm

Deploy and manage Curve cluster
Apache License 2.0
66 stars 72 forks source link

[Feature] support deploy minio-s3-gateway #218

Open aspirer opened 1 year ago

aspirer commented 1 year ago

我们需要你帮我们支持部署 minio-s3-gateway,相关文档请参考:

https://github.com/opencurve/curve-meetup-slides/pull/85

如果你有任何问题和疑问,都可以在该 issue 下面告诉我

Registration procedure

Step 1. Add a comment when you sign up.The purpose of comments is for us to understand you and determine whether you have the basic ability to complete this issue.

Step 2. Use WeChat to add the Curve community assistant "Curve" as a WeChat friend, tell your GitHub ID, and send the Issue link of your choice. The assistant will invite you to communicate with the mentor by WeChat.

Step 3. In order to better complete each development task, the mentor will select the developer who best matches the issue based on everyone's comment on GitHub and communication status by WeChat. If you are not selected, please select another issue.

Tips

peter5232 commented 1 year ago

这个issue指的是希望可以通过minio-s3-gateway去兼容多个对象存储系统吗

aspirer commented 1 year ago

这个issue指的是希望可以通过minio-s3-gateway去兼容多个对象存储系统吗

是通过s3-gateway提供s3协议,s3-gateway作为s3协议网关,使用curveadm部署在curve-fuse挂载点上,类似s3-gateway运行在本地文件系统上,这样用户上传下载curve-fuse上的文件就可以通过s3协议完成。完成了从posix到s3协议的转换。

当然这是第一步,第二步是修改minio-s3-gateway,并配合调用curvefs的sdk,不依赖curve-fuse挂载就可以支持s3协议。

aspirer commented 1 year ago

一种可能的实现方案:先用curveadm挂载一个curve-fuse目录,然后再用curveadm的playbook扩展能力,在挂载点上启动一个gateway,应该就可以实现了,这是一个初步方案,如果要考虑高可用,还需要部署两个同样的节点,并配置keepalived、haproxy等高可用组件服务来实现故障后的自动切换。

e1ijah1 commented 1 year ago

I am a backend engineer at a tech company, working on machine learning systems. I am interested in C++ systems programming.

I chose this topic because I have a basic understanding of S3 and CurveFS, and I want to learn more about their design and implementation details.