用于 SUSE Rancher 的 MinIO

客户出于三个原因在 SUSE Rancher 上运行 MinIO。

01.
部署、管理和保护类似 AWS 的基础设施,其中 Kubernetes 提供计算基础设施,MinIO 提供对象存储,Rancher 提供统一的多集群管理。
02.
DevOps 工具的交钥匙多集群部署和管理,提供自由创新而不会锁定或中断,同时确保跨位置、云和平台的一致开发人员体验。
03.
在 Rancher 上运行 MinIO 可以灵活地控制软件堆栈,避免云锁定,并提供跨混合云和多云的一致对象存储。

SUSE Rancher 是唯一一个管理所有 Kubernetes 发行版的企业 Kubernetes 平台,无论底层 Linux 以及它们是否在公共云、私有数据中心或边缘计算环境中运行。 该平台旨在减少使用 Rancher Kubernetes Engine (RKE) 或云 Kubernetes 服务(例如 GKE、AKS 和 EKS,或边缘的 K3s)创建、管理和保护 Kubernetes 集群的运营开销。 SUSE Rancher 提供简单、一致的集群操作,包括配置、版本管理、可见性和诊断、监控和警报以及集中审计。

MinIO 与 Rancher 集成,简化了跨多个云和边缘的大规模多租户对象存储即服务的操作。 MinIO Operator 适合 Rancher 工具链,例如 kubectl CLI 和 Istio 服务网格,简化了基础架构和 DevOps 团队的部署和管理。

用于 SUSE Rancher 的 MinIO

MinIO 为 Rancher 提供了一致、高性能和可扩展的对象存储,因为它在设计上是 Kubernetes 原生的,并且从一开始就兼容 S3。 开发人员可以为其在 Rancher 上运行的所有云原生应用程序快速部署兼容 Amazon S3 的持久存储服务。 Rancher 上的 MinIO 组合提供了一个强大的平台,允许应用程序跨任何多云和混合云基础设施进行扩展,并且仍然受到集中管理和保护,避免了公共云锁定。

MinIO Operator 与 Rancher 原生集成,跨多个云提供以下功能:

存储类别和分层
存储类别和分层
跨 NVMe、HDD 和公共云存储分层。
External Load Balancing
外部负载均衡
使用 NGINX 入口控制器对传入请求进行负载平衡。
加密密钥管理
加密密钥管理
使用 HashiCorp Vault 管理加密密钥。
身份管理
身份管理
使用 OpenID Connect 兼容的 Keycloak IDP 管理身份和策略。
证书管理
证书管理
使用 Rancher Certificate Manager 和 Let's Encrypt 配置和管理证书。
监控和警报
监控和警报
使用 Rancher Monitoring 或 Grafana 跟踪指标并发出警报。
日志记录和审计
日志记录和审计
将日志输出到 Elastic Stack 进行分析。

存储类别和分层

在 Rancher 上大规模部署 MinIO 的关键要求是跨存储类(NVMe、HDD、公共云)的能力层。 这使企业能够同时管理成本和性能。

MinIO 支持将老化对象从快速 NVMe 层自动过渡到更具成本效益的 HDD 层,甚至是成本优化的冷公共云存储层。

分层时,MinIO 提供了一个跨层的统一命名空间。 跨层的移动对应用程序是透明的,并由客户策略触发。

MinIO 和 Rancher 通过在源头加密对象来安全可靠地实现混合和多云存储——确保客户保留对数据的完全控制。 当部署在公共云中时,Rancher 可以跨持久块存储和更便宜的对象存储层有效地管理数据。

外部负载均衡

MinIO 的所有通信都基于 HTTPs、RESTFUL API,并将支持任何标准的、与 Kubernetes 兼容的入口控制器。 这包括基于硬件和软件定义的解决方案。 最受欢迎的选择是 NGINX。 使用 SUSE Partner Software Catalog 进行安装,然后公开一个 MinIO 租户 使用注释。

加密密钥管理

我们建议使用 Rancher 秘密管理或 HashiCorp Vault 将密钥存储在对象存储系统之外。 这是云原生应用程序的最佳实践。

我们建议在生产环境中的所有存储桶上默认启用加密。 MinIO 使用 AES-256-GCM 或 CHaCH20-Poly1305 加密来保护数据的完整性和机密性,对性能的影响可以忽略不计。

MinIO 支持所有三种服务器端加密(SSE-KMS、SSE-S3 和 SSE-C)模式。 SSE-S3 和 SSE-KMS 在服务器端与 KMS 集成,而 SSE-C 使用客户端提供的密钥。MinIO 支持在 KMS 中设置桶级默认加密密钥,支持 亚马逊云-S3语义(SSE-S3)。 客户端还使用 SSE-KMS 请求标头在 KMS 上指定一个单独的密钥。

MinIO 依靠外部 KMS 来引导其内部密钥加密服务器(KES 服务)以实现高性能的按对象加密。 每个租户在隔离的命名空间中运行自己的 KES 服务器。

身份管理

Rancher 包含一个集中式用户身份验证代理,它与用于跨集群 SSO 的外部 IDP 集成。 通过第三方 OpenID Connect/LDAP 兼容身份提供程序管理 Kubernetes 和 MinIO 的单点登录 (SSO),例如 Keycloak、Okta/Auth0、Google、Facebook、ActiveDirectory 和 OpenLDAP。 MinIO 推荐 OpenID Connect 兼容的 Keycloak IDP。

管理员可以使用外部 IDP 集中管理用户/应用程序身份。 MinIO 增强了 IDP,提供了 AWS IAM 风格的用户、组、角色、策略和令牌服务 API。 企业通过独立于基础架构且统一的身份和访问管理 (IAM) 层获得显着的架构灵活性。

证书管理

TLS 用于加密应用程序和 MinIO 之间的所有流量,包括节点间流量。 TLS 证书建立网络连接资源的身份,例如 MinIO 服务器域,并保护网络通信。

MinIO 与 Rancher 证书管理器集成,因此您可以使用 MinIO Operator 为 MinIO 租户自动配置、提供、管理和更新证书。 租户在自己的 Kubernetes 命名空间中使用自己的证书彼此完全隔离,以提高安全性。

监控和警报

MinIO 建议在 MinIO Rancher 实例上使用兼容 Prometheus 的系统进行监控和报警。 MinIO 发布了所有可以想象到的与对象存储相关的 Prometheus 指标,从桶容量到访问指标。 这些指标可以在任何与 Prometheus 兼容的工具或 MinIO 控制台中收集和可视化。

外部监控解决方案定期抓取 MinIO Prometheus 端点。 MinIO 推荐使用 Grafana 或 `rancher-monitoring` 项目中安装的平台监控组件来连接 MinIO。 这些相同的工具还可用于建立基线和设置通知的警报阈值,然后可以通过 Alertmanager 将其路由到通知平台,例如 PagerDuty、Freshservice 甚至 SNMP。

日志记录和审计

启用 MinIO 审计会为对象存储集群上的每个操作生成一个日志。 除了审计日志之外,MinIO 还记录控制台错误以用于操作故障排除目的。

MinIO 支持输出日志到 Elastic Stack(或第三方)进行分析和告警。 Rancher 包括 Banzai Cloud Logging Operator 来收集容器和应用程序日志。 为了简化操作,我们建议对 Rancher 和 MinIO 使用相同的日志记录和审计工具。

了解更多about 用于 SUSE Rancher 的 MinIO

您使用的是 Internet Explorer 版本 11 或更低版本。由于安全问题和缺乏对 Web 标准的支持,强烈建议您升级到现代浏览器。