第 2 章 MTC 发行注记


2.1. Migration Toolkit for Containers 1.8 发行注记

该版本的 Migration Toolkit for Containers 发行注记介绍了新的功能和增强功能、已弃用的功能以及已知的问题。

MTC(Migration Toolkit for Containers)可让您按照命名空间将应用程序工作负载在不同 OpenShift Container Platform 集群间进行迁移。

您可以从 OpenShift Container Platform 3 迁移到 4.12,也可以在 OpenShift Container Platform 4 集群之间迁移。

MTC 提供了一个基于 Kubernetes 自定义资源的 web 控制台和 API,可帮助您控制迁移并最小化应用程序停机时间。

有关 MTC 支持政策的信息,请参阅 OpenShift Application and Cluster Migration Solutions,它是 Red Hat OpenShift Container Platform 生命周期政策的一部分。

2.1.1. Migration Toolkit for Containers 1.8.3 发行注记

2.1.1.1. 技术变化

Migration Toolkit for Containers (MTC) 1.8.3 有以下技术变化:

现在支持 OADP 1.3

MTC 1.8.3 添加了对 OpenShift API for Data Protection (OADP) 的支持,作为 MTC 1.8.z 的依赖。

2.1.1.2. 已解决的问题

此发行版本有以下主要解决的问题:

CVE-2024-24786: Golang protobuf 模块中的一个错误会导致 unmarshal 函数进入死循环

在以前的 MTC 版本中,在 Golang 的 protobuf 模块中发现了一个漏洞,在处理某些无效输入时,unmarshal 函数会进入一个死循环。因此,攻击者可以利用这个漏洞,通过一个精心构建的无效输入,会导致这个函数进入死循环。

在这个版本中,unmarshal 功能可以正常工作。

如需更多信息,请参阅 CVE-2024-24786

CVE-2023-45857: Axios Cross-Site Request Forgery 安全漏洞

在以前的 MTC 版本中,在 Axios 1.5.1 中发现了一个漏洞,它会被利用来发现存储在 Cookie 中的敏感的 XSRF-TOKEN,方法是在向主机发出的每个请求的 HTTP 标头 X-XSRF-TOKEN 中包括它。

如需更多信息,请参阅 CVE-2023-45857

当源工作负载没有静止时,Restic 备份无法正常工作

在以前的 MTC 版本中,当使用路由部署应用程序时,一些文件不会被迁移。当源工作负载取消选择 quiesce 选项时,Restic 备份无法正常工作。

这个问题已在 MTC 1.8.3 中解决。

如需更多信息,请参阅 BZ#2242064

因为 Velero 中的一个不被支持的值错误,Migration Controller 无法安装

因为 Velero 不支持的值错误,MigrationController 无法安装。将 OADP 1.3.0 更新至 OADP 1.3.1 可解决这个问题。如需更多信息,请参阅 BZ#2267018

这个问题已在 MTC 1.8.3 中解决。

有关所有已解决的问题的完整列表,请参阅 JIRA 中的 MTC 1.8.3 解决的问题 列表。

2.1.1.3. 已知问题

MTC 有以下已知问题:

在 OpenShift Container Platform 4.12 中无法迁移服务帐户关联的 SCC

OpenShift Container Platform 版本 4.12 中服务帐户的相关安全性上下文约束 (SCC) 无法迁移。计划在以后的 MTC 版本中解决这个问题。(MIG-1454)

有关所有已知问题的完整列表,请参阅 JIRA 中的 MTC 1.8.3 已知问题列表。

2.1.2. Migration Toolkit for Containers 1.8.2 发行注记

2.1.2.1. 已解决的问题

此发行版本有以下主要解决的问题:

在设置自定义 CA 复制存储库后备份阶段失败

在以前的 MTC 版本中,在编辑复制存储库后,添加自定义 CA 证书、成功连接仓库并触发迁移,在备份阶段出现问题。

CVE-2023-26136: 在 4.1.3 之前使用 tough-cookie 软件包会受到 Prototype Pollution 的攻击

在以前的 (MTC) 版本中,MTC 中使用的 tough-cookie 软件包版本 4.1.3 会被受到原型处理的影响。发生此漏洞的原因是,当 rejectPublicSuffixes 的值设置为 false 时,CookieJar 无法正确处理 Cookie。

如需了解更多详细信息,请参阅 (CVE-2023-26136)

CVE-2022-25883 openshift-migration-ui-container: nodejs-semver: Regular expression 拒绝服务

在以前的(MTC)版本中,当不受信任的用户数据作为 newRange 提供时,MTC 中使用的 7.5.2 之前的 semver 软件包版本容易受到 Regular Expression Denial 的 Service (ReDoS)的攻击。

如需了解更多详细信息,请参阅 (CVE-2022-25883)

2.1.2.2. 已知问题

这个版本没有主要已知的问题。

2.1.3. Migration Toolkit for Containers 1.8.1 发行注记

2.1.3.1. 已解决的问题

此发行版本有以下主要解决的问题:

CVE-2023-39325: golang: net/http, x/net/http2: 快速流重置可能会导致过量工作

在处理 HTTP/2 协议(被 MTC 使用)中的多路流中发现了一个安全漏洞。 客户端可以重复请求新的多路流,并立即发送 RST_STREAM 帧来取消它。这在设置和分离流方面为服务器创建额外的工作负载,同时避免每个连接的最大活跃流数量的服务器端限制,从而导致因为服务器资源消耗而拒绝服务。(BZ#2245079)

建议升级到 MTC 1.8.1 或更高版本,从而解决了这个问题。

如需了解更多详细信息,请参阅 (CVE-2023-39325)(CVE-2023-44487)

2.1.3.2. 已知问题

这个版本没有主要已知的问题。

2.1.4. Migration Toolkit for Containers 1.8.0 发行注记

2.1.4.1. 已解决的问题

此发行版本有以下解决的问题:

间接迁移会一直处于备份阶段

在以前的版本中,由于 InvalidImageName 错误,间接迁移会一直处于备份阶段。(BZ#2233097)

PodVolumeRestore 会保留在 In Progress 状态,使迁移一直处于 Stage Restore 状态

在以前的版本中,在执行间接迁移时,迁移会停留在 Stage Restore 步骤中,等待 podvolumerestore 完成。(BZ#2233868)

迁移的应用程序无法从目标集群上的内部 registry 中拉取镜像

在以前的版本中,在将应用程序迁移到目标集群时,迁移的应用程序无法从内部镜像 registry 中拉取镜像,从而导致 应用程序失败。(BZ#2233103)

由于授权问题,在 Azure 上迁移失败

在以前的版本中,在 Azure 集群中,当备份到 Azure 存储时,迁移会在 Backup 阶段失败。(BZ#2238974)

2.1.4.2. 已知问题

这个版本有以下已知问题:

升级 MTC 1.7.x 1.8.x 时不会删除旧的 Restic pod

在这个发行版本中,当将 MTC Operator 从 1.7.x 升级到 1.8.x 时,旧的 Restic pod 不会被删除。因此,在升级后,Restic 和 node-agent pod 仍然可以在命名空间中看见。(BZ#2236829)

迁移的构建器 pod 无法推送到镜像 registry

在本发行版本中,在将包含 BuildConfig 的应用程序从源迁移到目标集群时,builder pod 会导致错误,无法将镜像推送到镜像 registry。(BZ#2234781)

[UI] CA 捆绑包文件字段没有被正确清除

在本发行版本中,在启用 Require SSL 验证 并将内容添加到 MigStorage 的 MCG NooBaa 存储桶的 CA 捆绑包文件中后,连接会如预期失败。但是,通过删除 CA 捆绑包内容并清除 Require SSL 验证 来恢复这些更改时,连接仍会失败。该问题仅通过删除和重新添加存储库来解决。(BZ#2240052)

在设置自定义 CA 复制存储库后备份阶段失败

在(MTC)编辑复制存储库后,添加自定义 CA 证书、成功连接仓库并触发迁移,在备份阶段出现问题。

这个问题已在 MTC 1.8.2 中解决。

CVE-2023-26136: 在 4.1.3 之前使用 tough-cookie 软件包会受到 Prototype Pollution 的攻击

MTC 中使用的 4.1.3 tough-cookie 软件包版本之前(在 MTC 中使用)容易受到对轮询建模的攻击。此漏洞发生,因为当 rejectPublicSuffixes 的值设置为 false 时,CookieJar 无法正确处理 Cookie。

这个问题已在 MTC 1.8.2 中解决。

如需了解更多详细信息,请参阅 (CVE-2023-26136)

CVE-2022-25883 openshift-migration-ui-container: nodejs-semver: Regular expression 拒绝服务

在以前的(MTC)版本中,当不受信任的用户数据作为 newRange 提供时,MTC 中使用的 7.5.2 之前的 semver 软件包版本容易受到 Regular Expression Denial 的 Service (ReDoS)的攻击。

这个问题已在 MTC 1.8.2 中解决。

如需了解更多详细信息,请参阅 (CVE-2022-25883)

2.1.4.3. 技术变化

此发行版本有以下技术更改:

  • 从 OpenShift Container Platform 3 迁移到 OpenShift Container Platform 4 需要旧的 MTC Operator 和 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 1.Y.z 必须相同。

    • 不支持从源 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。
  • MTC 1.8.x 默认会安装 OADP 1.2.x。
  • 从 MTC 1.7.x 升级到 MTC 1.8.0,需要手动将 OADP 频道改为 1.2。如果没有这样做,Operator 升级会失败。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.