適用於 Microsoft Azure 的 MinIOKubernetes 服務

客戶在 Microsoft Azure Kubernetes Service (AKS) 上執行 MinIO 的原因有三個。

01.

MinIO 作為混合雲或多雲部署中的一致性層,將 S3 API 相容性帶到 Azure,並實現 AI/ML 工作負載的可移植性。

02.

MinIO 是 Kubernetes 原生且高效能的,它可以在公有雲、私有雲和邊緣雲環境中提供可預測的效能。

03.

在 AKS 上執行 MinIO 可以控制軟體堆疊,並具有避免雲端鎖定的彈性。

AKS 是 Microsoft Azure 提供的高度可用、安全且完全託管的 Kubernetes 服務。 Azure Kubernetes Service (AKS) 提供無伺服器 Kubernetes、整合的持續整合和持續交付 (CI/CD) 體驗,以及企業級安全性和治理。

MinIO for Microsoft Azure Kubernetes Service (AKS)

MinIO 在所有主要的 Kubernetes 平台(AWSTanzuGCPOpenShift)上提供可移植的高效能物件儲存系統。開發人員可以輕鬆地為在 AKS 上執行的所有雲原生應用程式取得與 Amazon S3 相容的持久儲存服務。與 AWS S3 不同,MinIO 使應用程式能夠跨任何多雲和混合雲基礎架構擴展,而無需昂貴的軟體重寫或專有整合。

MinIO Operator 整合與 AKS 和 Azure 功能原生整合,以提供

Storage Classes and Tiering
儲存類別和分層
跨 Azure SSD 受管理磁碟(Azure CSI 磁碟區)、Azure BlobStore 和 Azure Cool Blob 分層。
External Load Balancing
外部負載平衡
使用 Azure Load Balancer 對傳入請求進行負載平衡。
Encryption Key Management
加密金鑰管理
使用 Azure Key Vault 管理加密金鑰。
Identity Management
身分管理
使用 Azure ActiveDirectory 管理身分和原則。
Certificate Management
憑證管理
使用 JetStack Certificate Manager 和 Let's Encrypt 配置和管理憑證。
Monitoring and Alerting
監控和警示
使用 Azure Monitor 追蹤指標並發出警示。
Logging and Auditing
記錄和稽核
將日誌輸出到 Azure Monitor 進行分析。

儲存類別和分層

在 AKS 和 Azure 上大規模部署 MinIO 的一個關鍵要求是能夠跨 Azure 雲端儲存類型轉換物件。具體來說,您需要支援經過成本優化的「熱-溫」和「熱-冷」部署拓撲。

MinIO 可以使用 Azure Blob 作為遠端層,根據使用者配置的規則自動轉換過期的物件。例如,您可以建立一個規則,將物件轉換到具有 Azure「熱」存取層的層,而另一個規則將物件轉換到具有 Azure「冷」存取層的層。

MinIO 支援物件一次轉換 - 因此,雖然您無法配置從 MinIO ->「熱」->「冷」的「瀑布式」或「鏈式」轉換,但您可以使用前綴和物件標籤為每個儲存貯體配置多個規則,以將精細的轉換行為應用於偏好的遠端層。MinIO 的唯一要求是遠端儲存必須支援立即檢索物件 - 無需重新啟動、延遲或等待時間。

MinIO 分層不需要用戶端邏輯變更。您的用戶端可以繼續透過 MinIO 請求物件,而 MinIO 會處理從 Azure 檢索物件並以透明方式傳回物件。MinIO 也支援使用 S3 還原 API 將物件還原回「熱」MinIO 部署。

MinIO 的分層功能擴展到混合雲環境,其中 MinIO JBOD/JBOF 部署充當私有雲上經過效能優化的「熱」層,而 Azure 提供經過成本優化的「溫」和「冷」層。利用 MinIO TLS 和伺服器端加密進一步保護兩個雲端中的所有靜態和傳輸中資料。

外部負載平衡

AKS 提供內建的 Azure Load Balancer,以便為從 AKS 外部存取儲存服務的應用程式,跨多個 MinIO 租用戶提供自動負載平衡和路由服務。將 MinIO 租用戶公開給外部流量,只需將註釋新增至 MinIO 租用戶即可。

加密金鑰管理

對於雲原生應用程式,最佳實務建議將金鑰儲存在物件系統外部的外部保管庫中。 Azure Key Vault (AKV) 是一種安全且具彈性的服務,可透過 API 管理 Azure 服務的金鑰。

對於有更嚴格安全要求或出於一致性目的的使用者,MinIO 與許多在 Azure 外部運作的外部金鑰管理服務整合。

當在 AKS 的公有執行個體中使用 MinIO 作為物件儲存時,強烈建議啟用磁碟上的加密。 MinIO 使用 AES-256-GCM 或 ChaCha20-Poly1305 加密來保護資料完整性和機密性,而不會影響效能。 MinIO Operator 允許為租用戶配置 Azure Key Vault 或支援的協力廠商 KMS,以自動對物件進行伺服器端加密。

MinIO 支援在 KMS 中設定儲存貯體層級的預設加密金鑰,並支援AWS-S3 語意 (SSE-S3)。 用戶端也可以使用 SSE-KMS 請求標頭在 KMS 上指定單獨的金鑰。

MinIO 將使用此 KMS 來啟動其內部金鑰加密伺服器 (KES 服務),以啟用高效能的每個物件加密。每個租用戶都在隔離的命名空間中執行自己的 KES 伺服器。

身分識別服務

在 AKS 上執行 MinIO 時,客戶可以透過 Azure Active Directory 或第三方 OpenID Connect/LDAP 相容的身分識別提供者(如 Okta/Auth0、Google、Facebook、Keycloak 和 OpenLDAP)管理單一登入 (SSO)。

外部 IDP 允許管理員集中管理使用者/應用程式身分。MinIO 建構在 IDP 之上,提供 AWS IAM 風格的使用者、群組、角色、原則和權杖服務 API。擁有獨立於基礎架構的統一身分與存取管理 (IAM) 層,可提供顯著的架構彈性。

憑證管理

從應用程式到 MinIO 的所有流量,包括節點間流量,都使用 TLS 加密。TLS 憑證用於保護網路通訊,並建立網路連線資源(例如 MinIO 伺服器)的身分。

AKS 使用 Jetstack cert-manager 自動產生和設定 Let’s Encrypt 憑證。MinIO 與 Jetstack cert-manager 整合,因此您可以使用 MinIO Operator 為 MinIO 租戶設定、佈建、管理和更新憑證。租戶在其各自的 Kubernetes 命名空間中完全隔離,並具有自己的憑證,以提高安全性。

監控和警示

MinIO 建議在 AKS 上部署 MinIO 時,使用 Azure Monitor 作為 Prometheus 相容系統進行監控和警示。MinIO 發布每個與物件儲存相關的 Prometheus 指標,從儲存桶容量到存取指標。這些指標可以在 Azure Monitor、Grafana、MinIO 主控台或任何已用於 Azure Kubernetes Service 監控的 Prometheus 相容工具中收集和視覺化。

這些相同的工具也可用於建立基準,並為通知設定警示閾值,然後可以將這些通知路由到通知平台,例如 PagerDuty、Freshservice 甚至 SNMP。

記錄和稽核

啟用 MinIO 稽核會為物件儲存叢集上的每個操作產生日誌。除了稽核日誌之外,MinIO 也會記錄主控台錯誤,以用於操作疑難排解。

MinIO 支援將日誌傳送到 Azure Monitor 並使用 Log Analytics 功能。

深入了解適用於 Azure Kubernetes Service 的 MinIO

您正在使用 Internet Explorer 11 或更舊版本。由於安全性問題和缺乏對網路標準的支援,強烈建議您升級到現代瀏覽器。