升级 Silo Tenant
以下步骤用于使用 Kustomize 或 Helm 升级单个 Silo Tenant。请先在非生产 Tenant 中测试确切的服务端镜像、Operator/Chart 版本与回滚流程。
服务端镜像必须保持为 pgsty/minio,并仅使用 Silo 下载页 已发布的标签或摘要。上游 Tenant 默认值使用 MinIO 镜像。同时保留 MINIO_UPDATE=off;继承的原地更新器仍指向上游 MinIO 发布源,不是 Silo 升级路径。
重要
对于使用早于 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 配置保存到文件:将
my-tenant和my-tenant-ns替换为待升级 Tenant 的名称和命名空间。编辑该文件,删除以下几行:
creationTimestamp:resourceVersion:uid:selfLink:(如果存在)
例如,删除高亮显示的这些行:
-
在同一目录中,创建一个
kustomization.yaml文件,其内容类似如下:如果你在上一步为
kubectl get输出使用了不同的文件名,请将my-tenant-base.yaml替换为对应文件名。
-
- 你可以使用原始部署中的
kustomization文件作为基础配置来升级 Tenant。 如果你已经没有这些文件,请按照 Operator Console-Deployed Tenant 标签页中的说明操作。
- 创建一个
upgrade-minio-tenant.yaml文件,其内容类似如下:
该文件会指示 Kustomize 使用指定镜像升级 Tenant。 该文件名 upgrade-minio-tenant.yaml 必须与上一步创建的 kustomization.yaml 中 patches.path 指定的文件名一致。
将 my-tenant 和 my-tenant-ns 替换为待升级 Tenant 的名称和命名空间。仅当更新的 Silo 发布已公开发布且经过验证时,才替换示例镜像标签。
或者,你也可以按照本地流程直接更新基础配置。 更多信息请参阅 Kustomize Documentation。
- 在与上述文件相同的目录中,使用
kubectl apply将更新后的配置应用到 Tenant:
输出类似如下:
使用 MinIO Helm Chart 升级 Tenant
本步骤使用 Helm Charts 升级现有 MinIO Tenant。
如果你是通过 Kustomize 部署 Tenant,请改用 使用 Kustomize 升级 Tenant 步骤。
-
验证现有 Silo Tenant 安装。
使用
kubectl get all -n TENANT_NAMESPACE验证所有 Tenant pod 和 service 的健康状态。使用
helm list命令查看该命名空间中已安装的 chart:结果应类似如下:
-
更新 Operator 仓库
使用
helm repo update minio-operator更新 MinIO Operator 仓库。 如果你为 MinIO Operator 仓库设置了不同的别名,请在命令中指定该别名。 你可以使用helm repo list查看已安装的仓库列表。在更新 Operator 仓库后,使用
helm search检查最新可用的 chart 版本:返回结果应类似如下:
minio-operator/minio-operator是旧版 chart,正常情况下 不应 安装。 -
保留并审查 Tenant values
导出当前发布由用户提供的 values,然后确认该文件保留了所有拓扑、存储、TLS、凭据与调度设置:
将
tenant.image.repository设为pgsty/minio,将tenant.image.tag固定为经测试的已发布 Silo 版本,并确保tenant.env包含MINIO_UPDATE=off。不得让 Chart 升级默默恢复上游镜像默认值。 -
运行已固定的
helm upgradeChart 版本与 Silo 服务端镜像应分别固定,并传入经过审查的 values 文件:
命令结果应返回成功,并且
REVISION值会递增。 -
验证 Tenant 升级
检查所有 service 和 pod 是否都已在线,确认实际运行的镜像摘要,并执行经过认证的 S3 读写冒烟测试后再完成发布。