将MinIO云存储部署到Mesosphere DC / OS
容器编排正逐渐成为部署应用程序的默认方法。开发人员正在从头开始构建其现代应用程序,以在容器中运行,从而实现更快的部署和更高的弹性。甚至传统的应用程序也以各种方式采用容器,以获取这些优势。
在使应用程序容器准备就绪的许多特性中,它处理非结构化数据的方式是最重要的方法之一。过去,处理非结构化数据的默认方法是将所有数据都转储到服务器的文件系统中,但是使用主机文件系统对容器化应用没有任何意义。这是因为在精心安排的环境中,可以在群集中的任何主机上计划(或重新计划)容器,但是无法使用该容器重新计划写入先前主机的数据。
最好的解决方案是使用具有易于使用且广为接受的API的云存储系统来处理存储。可以选择使用AWS S3,但是如果您希望控制应用程序数据怎么办?如果您想使用基础架构在云中运行非结构化数据存储,或者在本地运行具有成本效益的解决方案,并且仍然使用S3作为数据传输协议怎么办?没有云存储和完全托管的对象存储之间存在着差距,MinIO云存储服务器会尽力填补这一空白。
Min IO是一种云原生存储服务器,提供了AWS S3的开源替代方案。
什么是云原生?
云原生应用程序旨在利用集群中资源的流动性。云原生应用程序不需要资源管理,该资源管理最终将与集群的业务流程层竞争。它应该依靠业务流程层在分配了资源的任何地方运行应用程序。
作为真正的云原生应用程序,MinIO专注于存储,并且做得很好。它将资源管理职责留给了诸如Mesosphere DC / OS(数据中心操作系统)之类的编排平台。与具有自己的资源管理机制的应用程序相比,这使MinIO可以很好地扩展。
DC / OS通过运行应用程序的几个隔离的实例,允许容器化的应用程序以可持续的方式扩展。以HTTP服务器为例,由于其无状态性质,可以轻松地对其进行容器化。使用Docker容器和DC / OS,您可以通过添加所需数量的实例来扩展HTTP服务容量,以处理额外的负载。
在云原生环境中,可伸缩性不是应用程序的功能,而是业务流程。
MinIO旨在以类似方式扩展。每个DC / OS群集租户都可以拥有自己的隔离的MinIO服务器实例,该实例由该租户所需的存储支持。这样,您可以通过为新租户添加新的MinIO实例来适应新的租户和存储需求。
这种设计不仅可以扩展规模,而且还有助于限制故障范围。
第一个MinIO实例的复杂性与百万分之一的MinIO实例没有什么不同。
请记住,在容器或业务流程平台中运行时,应用程序不会自动成为云原生。设计使应用程序云原生!
在Mesosphere DC / OS上部署MinIO
在DC / OS上部署应用程序很简单;您可以使用Universe程序包,或创建自定义的配置文件。MinIO我们最近发布了一个官方的Universe程序包,以允许在DC / OS群集上单击MinIO部署。
在本文的其余部分中,我将说明使用我们的新Universe软件包在DC / OS上部署MinIO独立服务器的过程,并讨论如何针对多租户环境扩展此设置。
先决条件
首先,您需要运行DC / OS 1.8或更高版本的群集。您还需要安装Marathon-LB。记下运行Marathon-LB的公共代理的IP地址;您稍后将需要它来找到负载均衡器。或者,您可以配置主机名以指向运行Marathon-LB的公共代理。
您可以使用DC / OS UI或命令行界面来安装MinIO软件包。
通过DC / OS GUI的MinIO软件包
访问DC / OS管理页面,然后单击左侧菜单栏上的“ Universe ”。然后单击“ Packages ”选项卡并搜索MinIO。看到软件包后,单击右侧的“安装”按钮。

接下来,您需要输入配置值,例如要用于MinIO实例的存储和服务类型。最后,在“网络>> public-agent ”下输入Marathon-LB公共IP地址,然后单击“ Review and Install ”。

这样就完成了安装过程。现在,您需要从MinIO容器日志中获取访问密钥和秘密密钥。单击“服务”,然后在DC / OS管理页面中选择MinIO服务。然后转到“日志”选项卡并复制访问密钥和密钥。

您可以通过Web浏览器或MinIO mc与MinIO实例连接。
通过DC / OS CLI的MinIO软件包
要通过CLI安装MinIO软件包,请输入:
$ dcos package install minio
其余过程基本上与上述基于GUI的安装过程相同。
DC / OS CLI还提供了通过dcos install命令安装定制软件包的选项。有关更多详细信息,请参考CLI参考文档。
MinIO Server模式
除了上面部署的默认模式外,MinIO还支持其他模式。这些可以根据您的要求派上用场。您可以通过自定义配置脚本轻松地基于这些MinIO模式创建部署。
MinIO擦除编码模式:当至少有四个驱动器启动时,MinIO服务器将自动进入擦除编码模式。通过使用擦除代码和校验和,可以保护数据免遭硬件故障和静默数据损坏。在这种模式下,您可能会丢失一半的驱动器,但仍然能够恢复数据。
MinIO分布式模式:分布式模式允许您将多个(最小4个和最大16个)节点作为一个存储服务器运行。
MinIO共享后端模式:MinIO共享后端模式提供了运行多个MinIO实例的选项,这些实例由NAS等相同的存储后端支持,并在前端运行了诸如Marathon-LB之类的负载均衡器以平均分配负载。后端的写入是同步的。
当您使用它时,请帮助我们了解您的用例以及如何更好地帮助您!填写我们最好的MinIO部署表格(只需不到一分钟),并有机会在MinIO网站上展示,并向MinIO社区展示您的MinIO私有云设计。