MinIO 在混合云或多云部署场景中充当一致的存储层。
MinIO 是 Kubernetes 原生的,并且具有高性能,它可以在公共云、私有云和边缘云环境中提供可预测的性能。
在 GKE 上运行 MinIO 可以控制软件堆栈,并提供避免云锁定所需的灵活性。
Google Kubernetes Engine (GKE) 提供了一个高度自动化的安全且完全托管的 Kubernetes 平台。GKE 利用高可用性控制平面来支持多区域和区域集群。MinIO Operator 使用标准 Kubernetes 结构(如 StorageClass 和注释)与 GKE 原生集成。
MinIO 在所有主要的 Kubernetes 平台(AWS、Azure、Tanzu、OpenShift)上提供了一个可移植的高性能对象存储系统。开发人员可以轻松获得适用于在 GKE 上运行的所有云原生应用程序的 Amazon S3 兼容持久存储服务。与 AWS S3 不同,MinIO 使应用程序能够扩展到任何多云和混合云基础设施,而无需昂贵的软件重写或专有集成。
在 GKE 和 GCP 上大规模部署 MinIO 的一个关键要求是能够在 Google Cloud 存储类型之间转换对象。具体而言,您需要支持成本优化的“热-温”和“热-冷”部署拓扑。
MinIO 可以使用 GCS 存储桶作为远程层,根据用户配置的规则自动转换已过期的对象。例如,您可以创建一个规则将对象转换到使用 GCS 标准存储类的层,而另一个规则将对象转换到使用 GCS 近线存储类的层。
MinIO 支持一次转换对象 - 因此,虽然您无法配置从 MinIO -> 标准 -> 近线“级联”或“链式”转换,但您可以使用前缀和对象标签为每个存储桶配置多个规则,以将粒度转换行为应用到首选的远程层。MinIO 唯一的要求是远程存储必须支持立即检索对象 - 无需重新水合、延迟或等待时间。
MinIO 分层不需要任何客户端逻辑更改。您的客户端可以继续通过 MinIO 请求对象,MinIO 会处理从 GCS 检索对象并将其透明地返回。MinIO 还支持使用 S3 restore API 将对象返回到“热”MinIO 部署中。
MinIO 的分层功能扩展到混合云环境,其中 MinIO JBOD/JBOF 部署充当私有云上的性能优化的“热”层,而 GCS 提供成本优化的“温”和“冷”层。利用 MinIO TLS 和服务器端加密进一步保护两个云中所有数据,无论是在静止状态还是传输过程中。
MinIO Operator 与 GCP Cloud Load Balancing (CLB) 紧密集成,为访问存储服务的应用程序提供跨多个 MinIO 租户的自动负载均衡和路由服务,这些应用程序来自 GKE 之外。通过简单地将注释添加到 MinIO 租户,可以将 MinIO 租户公开到外部流量。
MinIO 建议使用 Google Cloud Key Management 在对象存储系统外部存储密钥。对于那些有更严格的安全要求或出于一致性目的的用户,MinIO 集成了许多外部密钥管理服务,这些服务在 GCP 之外运行。
对于所有生产环境,我们建议默认情况下对所有存储桶启用加密。MinIO 使用 AES-256-GCM 或 ChaCha20-Poly1305 加密来保护数据完整性和机密性,对性能的影响可以忽略不计。
MinIO 支持在 KMS 中设置存储桶级别的默认加密密钥,并支持 AWS-S3 语义 (SSE-S3)。客户端还可以使用 SSE-KMS 请求标头在 KMS 上指定一个单独的密钥。
MinIO 将使用此 KMS 启动其内部密钥加密服务器(KES 服务),以启用高性能的每对象加密。每个租户在其隔离的命名空间中运行自己的 KES 服务器。
在 GCP GKE 上运行 MinIO 时,客户可以通过 Google 托管的 GCP Cloud Identity 或第三方 OpenID Connect/LDAP 兼容身份提供者(如 Okta/Auth0、Google、Facebook、Keycloak、ActiveDirectory 和 OpenLDAP)管理单点登录 (SSO)。
单个集中式 IDP 允许管理员添加、更改用户、服务帐户或组的权限,或消除这些权限,并且此更改将在所有公有云、私有云和边缘 MinIO 服务器上生效。能够拥有独立于基础设施的统一身份和访问管理 (IAM) 层,提供了显著的架构灵活性。
从应用程序到 MinIO 的所有流量(包括节点间流量)都使用 TLS 加密。TLS 证书用于保护网络通信并建立网络连接资源(例如 MinIO 服务器)的身份。
MinIO 与 GKE 托管证书集成,以配置、预配、管理和更新 MinIO 租户的证书。租户在自己的 Kubernetes 命名空间中完全相互隔离,并拥有自己的证书,以提高安全性。
GCP 为使用 Google Cloud Stackdriver 的 GKE 提供强大的监控功能。我们建议在 GKE 上部署 MinIO 时使用 Google Cloud Stackdriver 作为 Prometheus 兼容系统进行监控和警报。推荐这样做是因为 MinIO 发布了所有可以想象到的与对象存储相关的 Prometheus 指标,从存储桶容量到访问指标。这些指标可以在任何 Prometheus 兼容工具(Stackdriver 是 GCP 的原生工具)或 MinIO 控制台中收集和可视化。
监控服务定期抓取 MinIO Prometheus 端点。这些工具还可以用于建立基线并设置通知的警报阈值,然后可以将这些通知路由到通知平台,例如 PagerDuty 或 Freshservice。