升级 MinIO Tenant
以下步骤用于升级单个 MinIO Tenant,可选择使用 Kustomize 或 Helm。 MinIO 建议你在升级生产 Tenant 之前,先在 Dev 或 QA 等较低环境中测试升级流程。
Important
对于使用早于 RELEASE.2024-03-30T09-41-56Z 的 MinIO Image 且启用了 AD/LDAP 的 Tenant,在开始本步骤前,你 必须 先完整阅读 RELEASE.2024-04-18T19-09-19Z 的发布说明。 你必须将该发布说明中记录的额外步骤纳入升级过程。
使用 Kustomize 升级 Tenant
以下步骤使用 Kustomize 和 kubectl CLI 升级 MinIO Tenant。
如果你是使用 Helm 部署 Tenant,请改用 使用 MinIO Helm Chart 升级 Tenant 步骤。
若要使用 Kustomize 升级 Tenant:
如果 Tenant 是通过 Operator Console 部署的,则在升级前还需要额外步骤来创建基础配置文件。
如果 Tenant 是通过 Kustomize 部署的,则基础配置就是原始 Tenant 部署中已有的 kustomization 文件。
请根据 Tenant 的部署方式选择下方标签页:
创建基础配置文件:
在一个合适的目录中,使用
kubectl get将当前 Tenant 配置保存到文件:kubectl get tenant/my-tenant -n my-tenant-ns -o yaml > my-tenant-base.yaml
将
my-tenant和my-tenant-ns替换为待升级 Tenant 的名称和命名空间。编辑该文件,删除以下几行:
例如,删除高亮显示的这些行:
metadata: creationTimestamp: "2024-05-29T21:22:20Z" generation: 1 name: my-tenant namespace: my-tenant-ns resourceVersion: "4699" uid: d5b8e468-3bed-4aa3-8ddb-dfe1ee0362da
在同一目录中,创建一个
kustomization.yaml文件,其内容类似如下:apiVersion: kustomize.config.k8s.io/v1beta1 kind: Kustomization resources: - my-tenant-base.yaml patches: - path: upgrade-minio-tenant.yaml
如果你在上一步为
kubectl get输出使用了不同的文件名,请将my-tenant-base.yaml替换为对应文件名。
你可以使用原始部署中的
kustomization文件作为基础配置来升级 Tenant。 如果你已经没有这些文件,请按照 Operator Console-Deployed Tenant 标签页中的说明操作。
创建一个
upgrade-minio-tenant.yaml文件,其内容类似如下:
apiVersion: minio.min.io/v2
kind: Tenant
metadata:
name: my-tenant
namespace: my-tenant-ns
spec:
image: minio/minio:MINIOLATEST
该文件会指示 Kustomize 使用指定镜像升级 Tenant。
该文件名 upgrade-minio-tenant.yaml 必须与上一步创建的 kustomization.yaml 中 patches.path 指定的文件名一致。
将 my-tenant 和 my-tenant-ns 替换为待升级 Tenant 的名称和命名空间。
在 image: 中指定要升级到的 MinIO 版本。
或者,你也可以按照本地流程直接更新基础配置。 更多信息请参阅 Kustomize Documentation。
在与上述文件相同的目录中,使用
kubectl apply将更新后的配置应用到 Tenant:
kubectl apply -k ./输出类似如下:
tenant.minio.min.io/my-tenant configured
使用 MinIO Helm Chart 升级 Tenant
本步骤使用 Helm Charts 升级现有 MinIO Tenant。
如果你是通过 Kustomize 部署 Tenant,请改用 使用 Kustomize 升级 Tenant 步骤。
验证现有 MinIO Tenant 安装。
使用
kubectl get all -n TENANT_NAMESPACE验证所有 Tenant pod 和 service 的健康状态。使用
helm list命令查看该命名空间中已安装的 chart:helm list -n TENANT_NAMESPACE
结果应类似如下:
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION CHART_NAME TENANT_NAMESPACE 1 2023-11-01 15:49:58.810412732 -0400 EDT deployed tenant-5.0.x v5.0.x
更新 Operator 仓库
使用
helm repo update minio-operator更新 MinIO Operator 仓库。 如果你为 MinIO Operator 仓库设置了不同的别名,请在命令中指定该别名。 你可以使用helm repo list查看已安装的仓库列表。在更新 Operator 仓库后,使用
helm search检查最新可用的 chart 版本:helm search repo minio-operator
返回结果应类似如下:
NAME CHART VERSION APP VERSION DESCRIPTION minio-operator/minio-operator 4.3.7 v4.3.7 A Helm chart for MinIO Operator minio-operator/operator 5.0.18 v5.0.18 A Helm chart for MinIO Operator minio-operator/tenant 5.0.18 v5.0.18 A Helm chart for MinIO Operator
minio-operator/minio-operator是旧版 chart,正常情况下**不应**安装。运行
helm upgradeHelm 会使用最新 chart 升级 Tenant:
helm upgrade -n minio-tenant \ CHART_NAME minio-operator/tenant
命令结果应返回成功,并且
REVISION值会递增。验证 Tenant 升级
检查所有 service 和 pod 是否都已在线并正常工作。