Skip to main content

版本说明 - v2.5.16

Rancher 2.5.16 版本于 2022 年 8 月 19 日发布。单击这里查看英文版版本说明。

在升级到任何 Rancher 版本之前,请务必查看下面的安装/升级说明。

Rancher 安全相关的漏洞修复#

此版本解决了 Rancher 中发现的三个严重级别的安全问题:

  • 修复了以明文形式在 Kubernetes 对象上存储敏感字段(密码、API 密钥和 Rancher 的 ServiceAccount 令牌等)的问题。任何能够读取 Kubernetes API 中的对象的用户都可以检索这些敏感数据的明文版本。有关详细信息,请参阅 CVE-2021-36782

  • 改进了集群模板 answer 中的凭证清理。如果未能清理数据,明文存储以及凭证、密码和 API 令牌可能会暴露。有关详细信息,请参阅 CVE-2021-36783

  • 修复了允许通过集群角色模板绑定 (CRTB) 和项目角色模板绑定 (PRTB) 在下游集群中提升权限的授权逻辑缺陷。有关详细信息,请参阅 CVE-2022-31247

有关详细信息,请参阅安全公告页面

功能和增强#

Azure Active Directory API 迁移#

微软已弃用 Rancher 用于通过 Azure AD 进行身份验证的 Azure AD Graph API。因此需要更新配置以确保用户仍然可以同时使用 Rancher 和 Azure AD。有关详细信息,请参阅文档#37228

  • 限制

    • 如果出现以下情况,回滚使用 Docker 安装的 Rancher 后,登录将失败:

      • Azure AD 已启用。

      • 在回滚之前,管理员提交了 Azure AD 配置更新。

        这是因为如果不通过 backup-restore operator 执行回滚,则不会回滚 Azure AD 端点。如果你想回滚 Rancher 以使用旧的 Azure AD Graph API 而不使用 backup-restore operator,请按照此解决方法编辑存储在本地集群数据库中的 AzureAD authconfig 资源。旧的 Azure AD Graph API 端点不会在 Rancher 回滚时回滚。详见 #38025

  • 其他

    • 现在可以同时使用多重身份验证 (MFA) 和 Azure AD 身份验证提供程序。Rancher 之前的某些设置可能在 Azure 中启用了 MFA,但 Rancher 无法正确使用它。请注意,在升级时,如果为 Azure 应用启用了 MFA,Rancher 将需要额外的验证。详见 #38028
    • 在开始迁移或在 v2.6.7+ 中首次启用 Azure AD 之前,请确保为 Microsoft Graph 添加了类型为 ApplicationNOT Delegated 的 Azure 应用注册权限。否则,你可能无法登录 Azure AD。禁用/重新启用 Azure AD 无法解决此问题,你需要等待一小时或手动删除缓存值。

主要 Bug 修复#

  • v2.5.16 之前,如果你在创建集群后将 S3 或其他类型的凭证添加到集群中,由于无法通过 API 更新集群状态,因此包含凭证的密文引用将会丢失。现在,引用已移至集群 Spec,以便在创建后进行更新和添加。要在升级到 v2.5.16 之后修复集群,请编辑集群并将 etcd 快照配置更改回本地并保存,然后再次编辑以再次配置 S3 快照。详见 #38397
  • 修复了当 Cluster Explorer 仪表板对下游集群的页面保持打开超过 30 分钟,并一直快速打开和关闭监视请求时,下游 Kubernetes API Server 过载的错误。详见 #37986
  • 修复了下游集群问题导致 controller 频繁重启并最终导致 Goroutine 泄漏的问题。详见 #37965
  • 更新了导致升级失败的内部下载链接。详见 #37859
  • 增加了 CSRF(cross-site request forgery,跨网站请求伪造)令牌的熵。详见 #15#419

安装/升级注意事项#

如果你是第一次安装 Rancher,你的环境必须满足安装要求

升级要求#

  • 创建备份

    • 我们强烈建议在升级 Rancher 之前创建备份。要在升级后回滚 Rancher,你必须将 Rancher 备份并恢复到之前的 Rancher 版本。由于 Rancher 会恢复到创建备份时的状态,因此恢复后不会体现升级后执行的任何更改。有关详细信息,请参阅备份 Rancher
  • Helm 版本

    • 由于最新 cert-manager 版本的更改,你必须使用 Helm 3.2.x+ 来安装或升级 Rancher。详见 #29213
  • Kubernetes 版本

    • 在安装 Rancher 2.5+ 之前,Rancher Server 的 Local Kubernetes 集群应该升级到 Kubernetes 1.17+。
  • CNI 要求

    • 对于 Kubernetes 1.19 及更新版本,我们建议禁用 firewalld,因为它与各种 CNI 插件不兼容。详见 #28840
    • 如果升级或安装到使用 nf_tables 作为后端数据包过滤器的 Linux 发行版(如 SLES 15、RHEL 8、Ubuntu 20.10、Debian 10 或更新的版本),用户应该升级到 RKE1 1.19.2 或更高版本,以获得支持 nf_tables 的 Flannel 0.13.0 版本。详见 Flannel #1317
    • 如果你从 >=v2.4.4 升级到 v2.5.x 且启用了 ACI CNI 的集群,升级 Rancher 将导致自动集群协调。这适用于 Kubernetes 版本 v1.17.16-rancher1-1v1.17.17-rancher1-1v1.17.17-rancher2-1v1.18.14-rancher1-1v1.18.15-rancher1-1v1.18.16-rancher1-1v1.18.17-rancher1-1。在升级到 v2.5.x 之前,请参阅解决方法。详见 #32002
  • 离线环境要求

    • 如需在离线环境中安装或升级 Rancher,请将 --no-hooks 标志添加到 helm template 命令以跳过 Helm 的 hook 渲染文件。详见 #3226
    • 如果在离线的 Rancher 前面使用代理,则必须向 NO_PROXY 传递额外的参数。详见文档#2725
  • cert-manager 版本要求

    • 如果你有一个使用自签名证书的 Rancher 高可用安装,则需要升级 cert-manager。如果你使用的 cert-manager 版本低于 v0.9.1,请参阅文档了解如何升级 cert-manager。
  • 安装 Docker 的要求

    • 启动 Rancher Docker 容器时,必须使用 privileged 标志。请参阅文档
    • 在离线环境中安装时,你必须在 docker run 命令中提供一个自定义的 registries.yaml 文件,如 K3s 文档所示。如果镜像仓库有证书,你还需要提供证书。详见 #28969
    • 升级 Docker 安装时,容器中可能会发生 panic,这将导致它重新启动。重新启动后,容器会出现并按预期工作。详见 #33685
  • RKE 要求

    • 对于从 <=v2.4.8 (<= RKE v1.1.6) 升级到 v2.4.12+ (RKE v1.1.13+)/v2.5.0+ (RKE v1.2.0+) 的用户,请注意,编辑和保存集群(即使没有更改或集群名称等小更改)将导致集群在所有节点上升级 kube-proxy(由于kube-proxy 绑定的变化)。这只发生在第一次编辑时,以后的编辑不会影响集群。详见 #32216
  • EKS 要求

    • Rancher 2.5.8 之前的版本有一个设置,允许用户以 cron 格式配置刷新时间长度:eks-refresh-cron。该设置现已弃用,并已迁移到新设置中的标准格式:eks-refresh。如果之前设置过,迁移将自动发生。详见 #31789
  • Fleet-agent

    • <=v2.5.7 升级到 >=v2.5.8 时,你可能会注意到在应用 & 应用市场中,有一个 fleet-agent 版本卡在了卸载中的状态。这是由迁移 fleet-agent 版本名称导致的。由于 fleet-agent 版本不再被使用,因此删除它是安全的,这也不会删除真正的 fleet-agent Deployment,因为它已经被迁移了。详见 #362

Rancher 的变化#

  • 升级和回滚

    • Rancher 支持升级和回滚。请关注你要升级或回滚的版本。
    • 升级到 v2.3.0+ 版本后,由于 Kubernetes 系统组件的容忍度增加,对 Rancher 启动的 Kubernetes 集群的任何编辑都将导致所有系统组件重新启动。请做好相应的计划。
    • 如果你有一个使用自签名证书的 Rancher 高可用安装,则需要升级 cert-manager。如果你使用的 cert-manager 版本低于 v0.9.1,请参阅文档了解如何升级 cert-manager。
    • 现有 GKE 集群和导入的集群将继续按原样运行。只有新创建和注册的集群将使用新的全生命周期管理。
    • 回滚 Rancher 的过程已针对 2.5.0 及更高版本进行了更新。如需了解新的说明,请参阅文档
  • 重要提示

    • 回滚会恢复到升级时的状态。升级后进行的任何更改都不会反映。
  • Local 集群无法关闭

    • 在较早的 Rancher 版本中,你可以隐藏 Local 集群以限制管理员访问 Rancher Server 的 Local Kubernetes 集群,但该功能已被弃用。Local Kubernetes 集群不再能被隐藏,所有管理员都可以访问 Local 集群。如果要限制 Local 集群的权限,你必须使用新的 restricted-admin 角色。现在,你可以通过在 v3/settings API 中将 hide_local_cluster 设置为 true 来禁用对 Local 集群的访问。参见文档#29325。有关升级具有隐藏 Local 集群的 Rancher 的更多信息,请参阅文档。

版本#

如需了解最新和稳定的版本,请参阅 README

如需了解版本控制和标签约定的详细信息,请参阅我们的版本文档

镜像#

  • rancher/rancher:v2.5.16
  • rancher/rancher-agent:v2.5.16

工具#

Kubernetes 版本#

  • 1.20.15(默认)
  • 1.19.16
  • 1.18.20
  • 1.17.17

其他说明#

已弃用功能#

功能说明
Cluster Manager - Rancher MonitoringCluster Manager UI 中的 Monitoring 已替换为 Cluster Explorer 应用 & 应用市场中的新 Monitoring Chart。
Cluster Manager - Rancher Alerts 和 NotifiersAlerting 和 Notifiers 功能现在已直接集成到 Cluster Explorer 应用 & 应用市场中的新 Monitoring Chart。
Cluster Manager - Rancher Logging已被使用 Cluster Explorer 应用 & 应用市场中的新 Logging Chart 的日志管理解决方案替换。
Cluster Manager - 多集群应用现在建议使用 Cluster Explorer 中由 Fleet 提供支持的 Rancher 持续交付来处理多集群部署。
Cluster Manager - Kubernetes CIS 1.4 扫描Kubernetes CIS 1.5+ Benchmark 扫描现在已被新的扫描工具所取代,该工具通过 Cluster Explorer 应用 & 应用市场中的 CIS Benchmarks Chart 来部署。
Cluster Manager - Rancher 流水线现在建议使用 Cluster Explorer 中由 Fleet 提供支持的 Rancher 持续交付来处理基于 Git 的部署流水线。
Cluster Manager - Istio v1.5Istio 项目已结束对 Istio 1.5 的支持,并建议所有用户升级。现在,较新的 Istio 版本以 Chart 形式在 Cluster Explorer 应用 & 应用市场中提供。
Cluster Manager - 配置 Kubernetes 1.16 集群我们已终止对 Kubernetes v1.16 的支持。Cluster Manager 不再配置新的 v1.16 集群。现有的 v1.16 集群不受影响。

实验功能#

RancherD 是作为 Rancher 2.5.4 到 2.5.10 的其中一个实验功能引入的,但现在已弃用。详见 #33423

Cluster Manager 和 Cluster Explorer 中的重复功能#

  • 由于可能存在的 CRD 冲突,你只能安装功能的其中一个版本。
  • 每个功能都只能由部署它的 UI 管理。
  • 如果你在 Cluster Manager 中安装了某个功能,则必须先在 Cluster Manager 中卸载它,然后再尝试在 Cluster Explorer 仪表板中安装新版本。

Cluster Explorer 功能的注意事项和升级#

  • 通用

    • 目前,并非所有新功能都可以安装在强化集群上。
    • 预计新功能将使用 Helm 3 CLI 而不是 Rancher CLI 部署。
  • UI Shell

    • 在 Rancher UI 中关闭 shell 后,请注意对应的进程会为 pod 中的每个 shell 无限期地运行。详见 #16192
  • 持续交付

    • 受限管理员无法从 Cluster Explorer 下的持续交付选项创建 Git 仓库,界面将卡在加载状态。详见 #4909
  • Rancher Backup

    • 迁移到具有 Rancher Backup 功能的集群时,你不能将 server-url 更改到其他位置;它必须继续使用相同的 URL。
  • Monitoring

    • 有时 Monitoring 会在安装时由于无法识别 CRD 而导致错误。详见 #29171
  • Istio

    • 请注意,从 Istio v1.7.4 或更早版本升级到任何更高版本时,可能会出现连接问题。详见升级注意事项#31811
    • v1.8.x 开始能原生支持 DNS。换言之,附加插件组件 istioCoreDNS 在 v1.8.x 中已弃用,在 v1.9x 中不受支持。如果你从 v1.8.x 升级到 v1.9.x 并且你正在使用 istioCoreDNS 插件,建议你在升级之前禁用它并切换到原生支持的 ​​DNS。如果你在未禁用的情况下升级,则需要手动清理安装,因为它不会自动删除。详见 #31761#31265
    • Istio v1.10 和更早的版本现已终止,但升级路径需要它才能不跳过次要版本。详见 #33824

Cluster Manager 功能注意事项和升级#

  • GKE

    • 在 Rancher 中将 GKE 集群升级到 1.19+ 之前,必须在 GCP 中显式禁用基本身份验证。详见 #32312
    • 在 Terraform 中创建 GKE 集群时,labels 字段不能为空,你必须至少设置一个标签。详见 #32553
  • EKS 和 GKE

    • 在 Terraform 中创建 EKS 和 GKE 集群时,字符串字段不能设置为空。详见 #32440

已知的主要问题#

  • Kubernetes 集群发行版

    • RKE

      • 不支持使用自定义加密提供程序轮换加密密钥。详见 #30539
      • 从树内 vSphere 云提供商迁移到树外云提供商后,升级集群的尝试将无法完成。这是因为在迁移失败之前,节点包含的工作负载具有绑定的卷。用户会观察到这些节点卡在 draining 状态。你可以按照这个解决方法继续升级。详见 #35102
    • AKS

      • AKS Kubernetes 1.20 及更早版本已结束生命周期。由于 Rancher v2.5 不支持高于 1.20 的 Kubernetes,因此无法配置新的下游 AKS 集群。详见 #38406
      • 基于 Azure Container Registry 的 Helm Chart 无法添加到 Cluster Explorer 中,但可以在 Cluster Manager 的应用程序功能中使用。请注意,使用 Helm Chart 仓库时,disableSameOriginCheck 的设置能控制什么时候将凭证附加到请求中。有关详细信息,请参阅此文档#35940
  • 集群工具

    • 强化集群

      • 目前,并非所有集群工具都可以安装在强化集群上。
    • Monitoring

      • 要在设置了 win_prefix_path 的 Windows 集群上部署 Monitoring V2,用户需要部署 Rancher Wins Upgrader 才能在主机上重新启动 Win,以便开始在 Prometheus 中收集指标。详见 #32535
      • 如果 Worker 节点使用的安全组阻止对端口 10254 的传入请求,Monitoring V2 将无法在部署了 Prometheus 的节点之外的任何节点上抓取 ingress-nginx pod。此问题的解决方法是在所有主机上打开端口 10254。详见 #32563
    • Logging

      • Logging(Cluster Explorer):在 Windows 集群上禁用 Windows Logging 后,执行 Helm 升级时不会删除 Windows nodeAgent。详见 #32325
    • Istio 版本

      • 离线环境不支持 Istio 1.5。请注意,Istio 项目已结束对 Istio 1.5 的支持。
      • Istio 1.10 支持已于 2022 年 1 月 7 日 结束。
    • 旧版 Monitoring

      • 在离线设置中,生成的 Rancher-images.txt 用于在私有注册表上的镜像,该文件不包含运行旧版 Monitoring(也称为 Monitoring V1,与 Kubernetes 1.15 集群兼容)所需的镜像。如果你在离线环境中运行 Kubernetes 1.15 集群,并且想要安装 Monitoring V1 或将 Monitoring V1 升级到 Rancher 为 Kubernetes 1.15 集群提供的最新版本,你需要采取以下操作之一:

        • 升级 Kubernetes 版本,以便你可以使用 Monitoring 应用 Helm Chart的 v0.2.x 版本。
        • 手动将必要的镜像导入你的私有镜像仓库以供 Monitoring 应用程序使用。
    • 安装要求

      • 导入 Kubernetes 1.21 集群的可能无法正常工作并且不受支持。
    • 备份和恢复

      • 在同一集群上重新安装 Rancher 2.5.x 可能会失败,原因是之前安装的 rancher.cattle.io. MutatingWebhookConfiguration 对象依然存在。你可以手动删除它以解决这个问题。
    • Docker 安装

      • 由于启动时间较长,可能会出现 UI 问题。
      • 用户首次登录时可能会收到错误消息。详见 #28800
      • 在设置密码和默认视图之前,用户可能会被重定向到登录界面。详见 #28798
Last updated on by vickyhella