升级 MinIO Operator
您可以在任何时候升级 MinIO Operator,而不会影响您管理的 MinIO 租户。
作为升级过程的一部分,Operator 可能会更新并重启租户以支持对 MinIO 自定义资源定义 (CRD) 的更改。这些更改不需要任何操作员或管理员采取任何操作,并且不会影响租户操作。
此页面介绍如何从 Operator 5.0.15 升级到 6.0.4。请参见 将 MinIO Operator 4.5.8 及更高版本升级到 5.0.15,了解有关在开始此过程之前如何升级到 Operator 5.0.15 的说明。
Operator 6.0.0 已弃用 Operator 控制台
从 Operator 6.0.0 开始,MinIO Operator 控制台已弃用并删除。
您可以继续使用标准的 Kubernetes 方法(如 Kustomize 或 Helm)管理和部署 MinIO 租户。
将 MinIO Operator 从 5.0.15 升级到 6.0.4
重要
Operator 6.0.0 已弃用 MinIO Operator 控制台,并从 MinIO Operator CRD 中删除了相关资源。这包括删除 Operator 控制台资源,例如服务和 Pod。
以后使用 Kustomization 或 Helm 来管理租户。
以下过程使用 Kustomize 升级 MinIO Operator。对于使用 Operator 5.0.0 到 5.0.14 的部署,请在执行此升级之前,按照 将 MinIO Operator 4.5.8 及更高版本升级到 5.0.15 过程进行操作。
如果您使用 Helm 安装了 Operator,请改用 使用 Helm 升级 指示。
(可选)将每个 MinIO 租户更新到最新的稳定 MinIO 版本。
定期升级 MinIO 可确保您的租户拥有最新的功能和性能改进。在将升级应用于生产租户之前,请在较低的环境(如 Dev 或 QA 租户)中测试升级。请参见 升级 MinIO 租户,了解有关升级 MinIO 租户的过程。
验证现有的 Operator 安装。使用
kubectl get all -n minio-operator
验证所有 Operator Pod 和服务的运行状况和状态。如果您将 Operator 安装到自定义命名空间,请指定该命名空间为
-n <NAMESPACE>
。您可以通过检索命名空间中 operator Pod 的对象规范来验证当前安装的 Operator 版本。以下示例使用
jq
工具从kubectl
中过滤出必要的的信息kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'
输出类似于以下内容
{ "env": [ { "name": "CLUSTER_DOMAIN", "value": "cluster.local" } ], "image": "minio/operator:v5.0.15", "imagePullPolicy": "IfNotPresent", "name": "minio-operator" }
如果您的本地主机没有安装
jq
实用程序,您可以运行命令的第一部分并找到输出的spec.containers
部分。使用 Kustomize 升级 Operator
以下命令将 Operator 升级到 6.0.4 版本。
kubectl apply -k github.com/minio/operator
在以下示例输出中,
configured
指示从更新的 CRD 应用了新的更改的地方。namespace/minio-operator unchanged customresourcedefinition.apiextensions.k8s.io/miniojobs.job.min.io configured customresourcedefinition.apiextensions.k8s.io/policybindings.sts.min.io configured customresourcedefinition.apiextensions.k8s.io/tenants.minio.min.io configured serviceaccount/minio-operator unchanged clusterrole.rbac.authorization.k8s.io/minio-operator-role configured clusterrolebinding.rbac.authorization.k8s.io/minio-operator-binding unchanged service/operator unchanged service/sts unchanged deployment.apps/minio-operator configured
验证 Operator 升级
您可以使用之前使用的相同
kubectl
命令检查新的 Operator 版本。kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'
以下步骤使用 Helm 升级现有的 MinIO Operator 安装。
如果您使用 Kustomize 安装了 Operator,请使用 使用 Kustomize 升级 指示。
(可选)将每个 MinIO 租户更新到最新的稳定 MinIO 版本。
定期升级 MinIO 可确保您的租户拥有最新的功能和性能改进。在将升级应用于生产租户之前,请在较低的环境(如 Dev 或 QA 租户)中测试升级。请参见 升级 MinIO 租户,了解有关升级 MinIO 租户的过程。
验证现有的 Operator 安装。
使用
kubectl get all -n minio-operator
验证所有 Operator pod 和服务的健康状况和状态。如果您将 Operator 安装到自定义命名空间,请指定该命名空间为
-n <NAMESPACE>
。使用
helm list
命令查看命名空间中已安装的图表。helm list -n minio-operator
结果应类似于以下内容。
NAME NAMESPACE REVISION UPDATED STATUS CHART APP VERSION operator minio-operator 1 2023-11-01 15:49:54.539724775 -0400 EDT deployed operator-5.0.x v5.0.x
更新 Operator 存储库
使用
helm repo update minio-operator
更新 MinIO Operator 存储库。如果您为 MinIO Operator 存储库设置了不同的别名,请在命令中指定该别名,而不是minio-operator
。您可以使用helm repo list
查看已安装的存储库。使用
helm search
在更新 Operator 存储库后检查最新的可用图表版本。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 6.0.4 v6.0.4 A Helm chart for MinIO Operator minio-operator/tenant 6.0.4 v6.0.4 A Helm chart for MinIO Operator
minio-operator/minio-operator
是一个旧版图表,在正常情况下 **不应** 安装。运行
helm upgrade
Helm 使用最新的图表来升级 MinIO Operator。
helm upgrade -n minio-operator \ operator minio-operator/operator
如果您将 MinIO Operator 安装到不同的命名空间,请在
-n
参数中指定该命名空间。如果您使用的是
operator
以外的安装名称,请将上面的值替换为安装名称。命令结果应返回成功,并且
REVISION
值会增加。验证 Operator 升级
您可以使用之前使用的相同
kubectl
命令检查新的 Operator 版本。kubectl get pod -l 'name=minio-operator' -n minio-operator -o json | jq '.items[0].spec.containers'