在 Google Kubernetes Engine 上部署 MinIO Operator
概觀
Google Kubernetes Engine (GKE) 提供高度自動化、安全且完全託管的 Kubernetes 平台。MinIO Kubernetes Operator 支援使用 MinIO Operator 主控台或 kustomize,將 MinIO 租戶部署到 GKE 基礎架構上,以便進行 YAML 定義的部署。
- 透過 GKE Marketplace
MinIO 維護一個 GKE Marketplace 列表,您可以使用該列表將您的 GKE 叢集註冊到 MinIO SUBNET。您透過 Marketplace 連接的叢集部署的任何 MinIO 租戶都可以利用 SUBNET 註冊,包括 24/7 直接存取 MinIO 工程師。
- 使用 MinIO
kubectl
外掛程式 MinIO 提供一個
kubectl
外掛程式,用於透過終端機或 Shell (CLI) 環境安裝和管理 MinIO Operator 和租戶。您可以隨時手動將這些租戶註冊到 MinIO SUBNET。
此頁面記錄了使用 Kustomize 透過 CLI 部署 MinIO Operator。有關透過 GKE Marketplace 部署 MinIO Operator 的說明,請參閱 透過 GKE 部署 MinIO
此文件假設您熟悉所有引用的 Kubernetes 和 Google Kubernetes Engine 概念、實用程式和程序。雖然此文件 可能 會在盡力而為的基礎上提供有關設定或部署 Kubernetes 相關或 Google Kubernetes Engine 相關資源的指南,但它不能取代官方的 Kubernetes 文件。
先決條件
現有的 GKE 叢集
此程序假設存在一個您可以部署 MinIO Operator 的現有 GKE 叢集。
Operator 預設會部署每個有兩個複本的 Pod 和服務,以及 Pod 反親和性。因此,GKE 叢集應至少有兩個節點可用於排程 Operator Pod 和服務。雖然這些節點 可能 與 MinIO 租戶預期的節點相同,但共置 Operator 和租戶 Pod 可能會增加因任何一個節點遺失而導致服務中斷的風險。
kubectl
存取 GKE 叢集
請確保您的主機已安裝與目標 GKE 叢集相容的 kubectl
。有關將 kubectl
連接到 GKE 的指南,請參閱安裝 kubectl 並設定叢集存取權。
步驟
以下步驟使用 Kustomize 和 MinIO Operator GitHub 儲存庫中的 kustomization.yaml
檔案來部署 Operator。
使用 Kustomize 安裝 MinIO Operator
以下步驟使用 kubectl -k
從 MinIO Operator GitHub 儲存庫安裝 Operator。kubectl -k
和 kubectl --kustomize
是執行相同命令的別名。
重要事項
如果您使用 Kustomize 安裝 Operator,則必須使用 Kustomize 來管理或升級該安裝。請勿使用 kubectl krew
、Helm 圖表或類似方法來管理或升級使用 Kustomize 部署的 MinIO Operator 安裝。
但是,您可以使用 Kustomize 來升級先前使用 MinIO Kubernetes 外掛程式安裝的舊版本 Operator(5.0.14 或更早版本)。
安裝最新版本的 Operator
以下命令將 Operator 安裝到
minio-operator
命名空間kubectl apply -k "github.com/minio/operator?ref=v6.0.4"
該命令會輸出已安裝資源的清單。
驗證 Operator Pod 是否正在執行
kubectl get pods -n minio-operator
輸出結果如下
NAME READY STATUS RESTARTS AGE minio-operator-6c758b8c45-nkhlx 1/1 Running 0 2m42s minio-operator-6c758b8c45-dgd8n 1/1 Running 0 2m42s
在此範例中,
minio-operator
pod 是 MinIO Operator,而console
pod 是 Operator Console。您可以使用 kubectl 修補程式修改您的 Operator 部署。您可以在Operator GitHub 儲存庫中找到常見組態的範例。
驗證 Operator 安裝
檢查指定的命名空間(
minio-operator
)的內容,以確保所有 Pod 和服務都已成功啟動。kubectl get all -n minio-operator
回應應如下所示
NAME READY STATUS RESTARTS AGE pod/minio-operator-6c758b8c45-nkhlx 1/1 Running 0 5m20s pod/minio-operator-6c758b8c45-dgd8n 1/1 Running 0 5m20s NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE service/operator ClusterIP 10.43.135.241 <none> 4221/TCP 5m20s service/sts ClusterIP 10.43.117.251 <none> 4223/TCP 5m20s NAME READY UP-TO-DATE AVAILABLE AGE deployment.apps/minio-operator 2/2 2 2 5m20s NAME DESIRED CURRENT READY AGE replicaset.apps/minio-operator-6c758b8c45 2 2 2 5m20s
下一步
您可以使用MinIO CRD 和 Kustomize部署 MinIO 租戶。MinIO 還提供了一個用於部署租戶的 Helm 圖表。
MinIO 建議使用與安裝 Operator 相同的方法來部署和管理租戶。混合使用 Kustomize 和 Helm 來管理 Operator 或租戶可能會增加操作複雜性。