文件

在 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 -kkubectl --kustomize 是執行相同命令的別名。

重要事項

如果您使用 Kustomize 安裝 Operator,則必須使用 Kustomize 來管理或升級該安裝。請勿使用 kubectl krew、Helm 圖表或類似方法來管理或升級使用 Kustomize 部署的 MinIO Operator 安裝。

但是,您可以使用 Kustomize 來升級先前使用 MinIO Kubernetes 外掛程式安裝的舊版本 Operator(5.0.14 或更早版本)。

  1. 安裝最新版本的 Operator

    以下命令將 Operator 安裝到 minio-operator 命名空間

    kubectl apply -k "github.com/minio/operator?ref=v6.0.4"
    

    該命令會輸出已安裝資源的清單。

  2. 驗證 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 儲存庫中找到常見組態的範例。

  3. 驗證 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
    
  4. 下一步

    您可以使用MinIO CRD 和 Kustomize部署 MinIO 租戶。MinIO 還提供了一個用於部署租戶的 Helm 圖表

    MinIO 建議使用與安裝 Operator 相同的方法來部署和管理租戶。混合使用 Kustomize 和 Helm 來管理 Operator 或租戶可能會增加操作複雜性。