- MinIO Quickstart Guide
- MinIO Docker 快速入门
- Minio纠删码快速入门
- 分布式MinIO快速入门
- 使用MinIO分解的HDP Spark和Hive
- 使用TLS安全的访问Minio服务
- MinIO存储桶通知指南
- MinIO Server config.json (v18) 指南
- MinIO多租户(Multi-tenant)部署指南
- MinIO Azure 网关
- MinIO GCS 网关
- MinIO NAS网关
- MinIO S3网关
- MinIO HDFS网关
- 磁盘缓存快速入门
- 如何使用Prometheus监控MinIO服务器
- Federation 快速入门指南
- KMS指南
- 选择API快速入门指南
- 压缩指南
- MinIO多用户快速入门指南
- MinIO STS快速入门指南
- MinIO部署快速入门
- 使用Docker Swarm部署MinIO
- 使用Kubernetes部署MinIO
- 使用Docker Compose部署MinIO
- MinIO客户端快速入门指南
- MinIO Client完全指南
- MinIO管理员完整指南
- 适用于Amazon S3兼容云存储的Minio JavaScript Library
- JavaScript Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Java SDK
- Java Client API参考文档
- 适用于与Amazon S3兼容的云存储的MinIO Python Library
- Python Client API文档
- 适用于与Amazon S3兼容云存储的MinIO Go SDK
- MinIO Go Client API文档
- 适用于与Amazon S3兼容的云存储的MinIO .NET SDK
- .NET Client API参考文档
- 用于Haskell的MinIO Client SDK
- MinIO Haskell SDK API参考
- 使用S3cmd操作MinIO Server
- 使用AWS CLI结合MinIO Server
- restic结合MinIO Server
- 将MySQL备份存储到MinIO Server
- 将MongoDB备份存储到MinIO Server
- 将PostgreSQL备份存储到MinIO Server
- 为MinIO Server设置Caddy proxy
- 为MinIO Server设置Nginx代理
- 使用fluentd插件聚合Apache日志
- Rclone结合MinIO Server
- 结合MinIO运行Deis Workflow
- 为MinIO Server设置Apache HTTP proxy
- 使用pre-signed URLs通过浏览器上传
- 如何在FreeNAS中运行MinIO
- 如何使用Cyberduck结合MinIO
- 如何使用AWS SDK for PHP操作MinIO Server
- 如何使用AWS SDK for Ruby操作MinIO Server
- 如何使用AWS SDK for Python操作MinIO Server
- 如何使用Mountain Duck结合MinIO
- 如何使用AWS SDK for Javascript操作MinIO Server
- 如何使用Træfɪk代理多个MinIO服务
- 如何使用AWS SDK for Go操作MinIO Server
- 如何使用AWS SDK for Java操作MinIO Server
- 如何使用Paperclip操作MinIO Server
- 如何使用AWS SDK for .NET操作MinIO Server
- 如何使用aws-cli调用MinIO服务端加密
使用Docker Swarm部署MinIO
Docker Engine在Swarm模式下提供集群管理和编排功能。 MinIO服务器可以在Swarm的分布式模式下轻松部署,创建一个多租户,高可用性和可扩展的对象存储。
从Docker Engine v1.13.0 (Docker Compose v3.0)开始, Docker Swarm和Compose 二者cross-compatible。这允许将Compose file用作在Swarm上部署服务的模板。 我们使用Docker Compose file创建分布式MinIO设置。
1. 前提条件
- 熟悉Swarm mode key concepts.
- Docker engine v1.13.0运行在[networked host machines]集群上(https://docs.docker.com/engine/swarm/swarm-tutorial/).
2. 创建Swarm
在管理节点上创建一个swarm,请运行下面的命令
docker swarm init --advertise-addr <MANAGER-IP>
一旦swarm初使化了,你可以看到下面的响应信息
docker swarm join \
--token SWMTKN-1-49nj1cmql0jkz5s954yi3oex3nedyz0fb0xx14ie39trti4wxv-8vxv8rssmk743ojnwacrr2e7c \
192.168.99.100:2377
你现在可以运行上述命令添加worker节点到swarm。更多关于创建swarm的细节步骤,请访问Docker documentation site.
3. 为MinIO创建Docker secret
echo "AKIAIOSFODNN7EXAMPLE" | docker secret create access_key -
echo "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY" | docker secret create secret_key -
4. 部署分布式minio服务
在你的Swarm master上下载Docker Compose file ,然后运行下面的命令
docker stack deploy --compose-file=docker-compose-secrets.yaml minio_stack
这将把Compose file里描述的服务部署为Docker stackminio_stack
。 更多 docker stack
命令参考。
在stack成功部署之后,你可以通过MinIO Client mc
或者浏览器访问http://[Node_Public_IP_Address]:[Expose_Port_on_Host]来访问你的MinIO server。
4. 删除分布式MinIO services
删除分布式MinIO services以及相关的网络,请运行下面的命令
docker stack rm minio_stack
Swarm不会自动删除为MinIO服务创建的host volumes,如果下次新的MinIO服务不熟到swarm上,可能会导致损坏。因此,我们建议手动删除所有MinIO使用的volumes。为此,到每一个swarm的节点上,列出所有的volumes
docker volume ls
然后删除minio_stack
volumes
docker volume rm volume_name
注意事项
默认情况下Docker Compose file使用的是最新版的MinIO server的Docker镜像,你可以修改image tag来拉取指定版本的MinIO Docker image.
默认情况下会创建4个minio实例,你可以添加更多的MinIO服务(最多总共16个)到你的MinIO Comose deployment。添加一个服务
- 复制服务定义并适当地更改新服务的名称。
- 更新每个服务中的命令部分。
- 更新要为新服务公开的端口号。 另外,请确保分配给新服务的端口尚未使用。
关于分布式MinIO的更多资料,请访问这里.
默认情况下,MinIO服务使用的是
local
volume driver. 更多配置选项,请访问Docker documentation 。Docker compose file中的MinIO服务使用的端口是9001到9004,这允许多个服务在主机上运行。更多配置选项,请访问Docker documentation.
Docker Swarm默认使用的是ingress做负载均衡,你可以跟据需要配置external load balancer based。
了解更多
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论