MinIO 自托管存储库
MinIO 是一个流行的开源对象存储服务器,与 Amazon AWS S3 API 兼容。作为 S3 兼容服务,MinIO 支持在 Elastic Cloud Enterprise (ECE) 中用作快照存储库。
本指南将指导您如何将 MinIO 与 ECE 集成以存储您的 Elasticsearch 快照。
避免直接在 ECE 主机上运行 MinIO。共享基础设施可能会导致资源争用(尤其是磁盘 I/O),并可能影响 Elastic 工作负载的性能和稳定性。它还会使升级、故障排除和可支持性变得复杂。
如果您在测试系统中评估 MinIO,请不要将 MinIO 容器放在与 ECE 代理相同的主机上,因为这两个服务使用相同的端口。
本节提供有关部署 MinIO 的指导和建议。它不包含安装步骤。由于 MinIO 是第三方产品,其部署、配置和维护不在 Elastic 支持的范围内。
有关安装说明,请参考官方 MinIO GitHub 存储库。
MinIO 的性能和可靠性取决于其配置和底层基础设施。请考虑以下最佳实践
- 对于生产环境,请以多节点多驱动器(Multi-Node Multi-Drive)配置部署 MinIO。
- 在 ECE 安装中使用单个 MinIO 端点,以简化存储库配置。
- 使用 TLS 保护对 MinIO 端点的访问。
部署后,请确保收集以下值
- MinIO 访问密钥 (Access Key)
- MinIO 秘密密钥 (Secret Key)
- MinIO 端点 URL
MinIO 可能会报告多个端点 URL。请确保选择可从在 ECE 分配器主机上运行的 Elasticsearch 容器访问的那一个。
使用 MinIO 快速入门指南 或 容器部署指南 来启动一个简单的独立 MinIO 容器。在使用 docker 或 podman 选项时,使用 -v 来映射持久化存储。
跨多个节点和驱动器设置 MinIO,以确保高可用性、性能和可扩展性,同时遵循 MinIO 文档 中的建议。
您可以使用 Docker Compose、Kubernetes 或您选择的其他编排工具。
安装 MinIO 后,您需要创建一个存储桶来存储部署的快照。使用 MinIO 浏览器或 S3 客户端应用程序创建一个 S3 存储桶来存储您的快照。
不要忘记使存储桶名称符合 DNS 规范,例如不包含下划线或大写字母。有关更多详细信息,请阅读 存储桶限制。
本节介绍在 ECE 中使用 MinIO 存储对部署进行定期快照所需的配置更改。所需的步骤包括
- 在 ECE 级别配置存储库
- 将其与您的部署相关联
- 将特定的 YAML 设置应用到部署
在将 ECE 与 MinIO 集成之前,请确保从您的 MinIO 部署中获取以下详细信息
- MinIO 访问密钥 (Access Key)
- MinIO 秘密密钥 (Secret Key)
- MinIO 端点 URL
- S3 存储桶名称
您必须在 ECE 平台级别添加新存储库,然后才能将其用于您的 Elasticsearch 部署。
从 Platform 菜单中,选择 Repositories。
选择 Add Repository。
从 Repository Type 下拉列表中,选择 Advanced。
在 Configuration 文本区域中,提供存储库 JSON。您必须指定 bucket、access_key、secret_key、endpoint 和 protocol。
{ "type": "s3", "settings": { "bucket": "ece-backup", "access_key": "<your MinIO AccessKey>", "secret_key": "<your MinIO SecretKey>", "endpoint": "<your MinIO endpoint URL>:9000", "path_style_access": "true", "protocol": "http" } }选择 Save 以提交您的配置。
在 ECE 平台级别创建 MinIO 存储库后,您可以通过以下两种方式将其与您的 Elasticsearch 部署相关联
对于新部署,在创建部署时,从 Snapshot repository 下拉列表中选择该存储库。
对于现有部署,请按照 管理 Elasticsearch 集群存储库 中的说明关联存储库。
选择存储库后,您还需要配置 Elasticsearch 用户设置 YAML 以指定端点和协议。例如
s3.client.default.endpoint: "<your MinIO endpoint>:9000"
s3.client.default.protocol: http
有关更多信息,请参考 Elasticsearch S3 插件详细信息。
对于 7.x 版本的 Elasticsearch 集群,您必须将 S3 存储库插件添加到集群中。有关更多详细信息,请参考 管理 ECE 插件。
对于 8.0 及更高版本,Elasticsearch 对 AWS S3 存储库具有内置支持;无需任何存储库插件。
设置存储库并将其与集群关联后,集群应定期制作快照。您可以在 Cloud UI 的部署页面的 Elasticsearch > Snapshots 部分中查看此信息。
作为额外的验证步骤,您可以跨集群恢复快照。
有关 Elasticsearch 快照和恢复的更多信息,请参考使用快照。
有关将 MinIO 用作快照存储库时的性能、可靠性和故障排除的其他注意事项,请参考 将 MinIO 与 Elasticsearch 配合使用。