通过Operator在谷歌Kubernetes引擎上部署MinIO
概述
谷歌Kubernetes引擎 (GKE) 提供一个高度自动化、安全且完全托管的 Kubernetes 平台。 MinIO Kubernetes Operator 支持使用 MinIO Operator 控制台 或 kustomize 进行 GKE 基础架构上 MinIO Tenants 的部署,适用于 YAML 定义的部署。
- Through the GKE Marketplace
MinIO 维护着一个 GKE Marketplace listing 您可以通过这个列表将您的 GKE 集群注册到 MinIO SUBNET。 通过与 Marketplace 连接的集群部署的任何 MinIO 租户都可以利用 SUBNET 注册,包括 24/7 直接访问 MinIO 工程师的服务。
- 使用 MinIO
kubectl
插件 MinIO 提供了一个
kubectl
插件,用于通过终端或壳(CLI)环境安装和管理 MinIO Operator 和 Tenants。 您可以随时手动将这些租户注册到 MinIO SUBNET。
这个页面记录了使用 Kustomize 通过CLI部署MinIO Operator的过程。 要通过 GKE Marketplace 部署 MinIO Operator 的说明,请参阅 通过 GKE 部署 MinIO。
本文档假设您熟悉所有引用的 Kubernetes 和 Google Kubernetes Engine 概念、实用工具和程序。 尽管本文档 可能 会提供有关配置或部署与 Kubernetes 或 Google Kubernetes Engine 相关的资源的指导,但它不应被视为官方 Kubernetes Documentation 的替代品。
先决条件
现有的GKE集群
此过程假设您已经有一个可以部署 MinIO 操作员的现有 GKE 集群。
默认情况下,该操作员会部署每个具有两个副本的服务和带有反亲和性的 pod。 因此,GKE 集群应该至少有两个节点可供调度 Operator pods 和服务。 尽管这些节点 可能 是打算用于 MinIO 租户的同一节点,但是将 Operator 和 Tenant pods 部署在同一节点上可能会因为任何单一节点的丢失而增加服务中断的风险。
kubectl
访问 GKE 集群
确保您的宿主机上安装了与目标 GKE 集群兼容的 kubectl
。
要了解如何将 kubectl
连接到 GKE,请参阅 Google Kubernetes Engine 文档中的 Install kubectl and configure cluster access。
操作步骤
以下步骤使用 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=v7.1.1"
该命令输出已安装资源的列表。
验证 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
下一步
您可以使用:ref:MinIO CRD and Kustomize. <minio-k8s-deploy-minio-tenant> MinIO 还提供了 Helm chart for deploying Tenants.
MinIO 建议使用与安装 Operator 相同的租户部署和管理方法。 混合使用 Kustomize 和 Helm 进行操作员或租户管理可能会增加操作复杂性。