$ oc -n openshift-migration get sub
您可以使用Operator Lifecycle Manager升级OpenShift Container Platform 4.17上的容器迁移工具包(MTC)。
您可以通过重新安装旧版容器迁移工具包操作符来升级OpenShift Container Platform 4.5及更早版本上的MTC。
如果您从MTC 1.3版本升级,则必须执行其他步骤来更新 |
您可以使用Operator Lifecycle Manager升级OpenShift Container Platform 4.17上的容器迁移工具包(MTC)。
使用Operator Lifecycle Manager升级MTC时,必须使用受支持的迁移路径。 |
从OpenShift Container Platform 3迁移到OpenShift Container Platform 4需要旧版MTC操作符和MTC 1.7.x。
不支持从MTC 1.7.x迁移到MTC 1.8.x。
必须使用MTC 1.7.x迁移任何源为OpenShift Container Platform 4.9或更早版本的内容。
源和目标都必须使用MTC 1.7.x。
MTC 1.8.x仅支持从OpenShift Container Platform 4.10或更高版本迁移到OpenShift Container Platform 4.10或更高版本。对于仅涉及4.10及更高版本集群的迁移,可以使用1.7.x或1.8.x。但是,源和目标必须使用相同的MTC版本。
不支持从源MTC 1.7.x迁移到目标MTC 1.8.x。
不支持从源MTC 1.8.x迁移到目标MTC 1.7.x。
支持从源MTC 1.7.x迁移到目标MTC 1.7.x。
支持从源MTC 1.8.x迁移到目标MTC 1.8.x
您必须以具有cluster-admin
权限的用户身份登录。
在OpenShift Container Platform控制台中,导航到**操作符**→**已安装的操作符**。
挂起升级的操作符将显示**可用升级**状态。
单击**容器迁移工具包操作符**。
单击**订阅**选项卡。任何需要批准的升级都将显示在**升级状态**旁边。例如,它可能会显示**1个需要批准**。
单击**1个需要批准**,然后单击**预览安装计划**。
查看列出的可用升级资源,然后单击**批准**。
返回到**操作符→已安装的操作符**页面以监控升级进度。完成后,状态将更改为**成功**和**最新**。
单击**工作负载**→**Pod**以验证MTC Pod是否正在运行。
要将容器迁移工具包升级到1.8.0,请完成以下步骤。
使用以下方法之一确定要用于升级的订阅名称和当前通道
通过运行以下命令确定订阅名称和通道
$ oc -n openshift-migration get sub
NAME PACKAGE SOURCE CHANNEL
mtc-operator mtc-operator mtc-operator-catalog release-v1.7
redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace redhat-oadp-operator mtc-operator-catalog stable-1.0
或者通过运行以下命令以JSON格式返回订阅名称和通道
$ oc -n openshift-migration get sub -o json | jq -r '.items[] | { name: .metadata.name, package: .spec.name, channel: .spec.channel }'
{
"name": "mtc-operator",
"package": "mtc-operator",
"channel": "release-v1.7"
}
{
"name": "redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace",
"package": "redhat-oadp-operator",
"channel": "stable-1.0"
}
对于每个订阅,通过运行以下命令进行修补以从MTC 1.7通道迁移到MTC 1.8通道
$ oc -n openshift-migration patch subscription mtc-operator --type merge --patch '{"spec": {"channel": "release-v1.8"}}'
subscription.operators.coreos.com/mtc-operator patched
要将容器迁移工具包1.8.0的OADP 1.0升级到1.2,请完成以下步骤。
对于每个订阅,通过运行以下命令将OADP操作符从OADP 1.0修补到OADP 1.2
$ oc -n openshift-migration patch subscription redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace --type merge --patch '{"spec": {"channel":"stable-1.2"}}'
部分指示用于分别安装MTC和OADP的用户特定返回 |
subscription.operators.coreos.com/redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace patched
返回的值类似于 |
如果installPlanApproval
参数设置为Automatic
,则Operator Lifecycle Manager (OLM)将开始升级过程。
如果installPlanApproval
参数设置为Manual
,则必须在OLM开始升级之前批准每个installPlan
。
通过运行以下命令验证OLM是否已完成OADP和MTC的升级
$ oc -n openshift-migration get subscriptions.operators.coreos.com mtc-operator -o json | jq '.status | (."state"=="AtLatestKnown")'
返回true
值时,通过运行以下命令验证每个订阅使用的通道
$ oc -n openshift-migration get sub -o json | jq -r '.items[] | {name: .metadata.name, channel: .spec.channel }'
{
"name": "mtc-operator",
"channel": "release-v1.8"
}
{
"name": "redhat-oadp-operator-stable-1.0-mtc-operator-catalog-openshift-marketplace",
"channel": "stable-1.2"
}
Confirm that the `mtc-operator.v1.8.0` and `oadp-operator.v1.2.x` packages are installed by running the following command:
$ oc -n openshift-migration get csv
NAME DISPLAY VERSION REPLACES PHASE
mtc-operator.v1.8.0 Migration Toolkit for Containers Operator 1.8.0 mtc-operator.v1.7.13 Succeeded
oadp-operator.v1.2.2 OADP Operator 1.2.2 oadp-operator.v1.0.13 Succeeded
您可以通过手动安装旧版容器迁移工具包操作符来升级OpenShift Container Platform 4.2到4.5版本上的容器迁移工具包(MTC)。
您必须以具有cluster-admin
权限的用户身份登录。
您必须能够访问registry.redhat.io
。
您必须安装podman
。
使用您的Red Hat客户门户凭据登录到registry.redhat.io
,输入以下命令
$ podman login registry.redhat.io
输入以下命令下载operator.yml
文件:
$ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7:/operator.yml ./
输入以下命令替换容器迁移工具操作符:
$ oc replace --force -f operator.yml
输入以下命令将migration-operator
部署缩放到0
以停止部署:
$ oc scale -n openshift-migration --replicas=0 deployment/migration-operator
输入以下命令将migration-operator
部署缩放到1
以启动部署并应用更改:
$ oc scale -n openshift-migration --replicas=1 deployment/migration-operator
输入以下命令验证migration-operator
是否已升级:
$ oc -o yaml -n openshift-migration get deployment/migration-operator | grep image: | awk -F ":" '{ print $NF }'
输入以下命令下载controller.yml
文件:
$ podman cp $(podman create registry.redhat.io/rhmtc/openshift-migration-legacy-rhel8-operator:v1.7):/operator.yml ./
输入以下命令创建migration-controller
对象:
$ oc create -f controller.yml
输入以下命令验证MTC pod是否正在运行:
$ oc get pods -n openshift-migration
如果您正在将容器迁移工具(MTC) 1.3.x版本升级到1.8,则必须更新MigrationController
pod正在运行的集群上的MigPlan
自定义资源(CR)清单。
因为indirectImageMigration
和indirectVolumeMigration
参数在MTC 1.3中不存在,所以在1.4版本中的默认值为false
,这意味着启用了直接镜像迁移和直接卷迁移。由于未满足直接迁移要求,除非将这些参数值更改为true
,否则迁移计划无法达到Ready
状态。
|
您必须以具有cluster-admin
权限的用户身份登录。
登录到MigrationController
pod正在运行的集群。
获取MigPlan
CR清单
$ oc get migplan <migplan> -o yaml -n openshift-migration
更新以下参数值,并将文件保存为migplan.yaml
...
spec:
indirectImageMigration: true
indirectVolumeMigration: true
替换MigPlan
CR清单以应用更改
$ oc replace -f migplan.yaml -n openshift-migration
获取更新后的MigPlan
CR清单以验证更改
$ oc get migplan <migplan> -o yaml -n openshift-migration