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 還原 API 將物件傳回「熱」MinIO 部署。
MinIO 的分層功能延伸到混合雲環境,其中 MinIO JBOD/JBOF 部署充當私有雲上經過效能優化的「熱」層,而 GCS 提供經過成本優化的「暖」和「冷」層。 利用 MinIO TLS 和伺服器端加密來進一步保護雲端中所有靜止和傳輸中的資料。
MinIO Operator 與 GCP Cloud Load Balancing (CLB) 緊密整合,為從 GKE 外部存取儲存服務的應用程式提供跨多個 MinIO 租用戶的自動負載平衡和路由服務。 只需向 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 提供強大的監控功能。我們建議使用 Google Cloud Stackdriver 作為相容 Prometheus 的系統,以在 GKE 上部署 MinIO 時進行監控和警示。此建議的原因是 MinIO 發布了每個可以想像到的與物件儲存相關的 Prometheus 指標,從儲存桶容量到存取指標。這些指標可以在任何相容 Prometheus 的工具 (Stackdriver 是 GCP 原生的工具) 或在 MinIO 控制台中收集和視覺化。
監控服務會定期抓取 MinIO Prometheus 端點。這些相同的工具也可以用於建立基準線和設定警示閾值以進行通知,然後可以將通知路由到通知平台,例如 PagerDuty 或 Freshservice。