版本说明 - v2.5.9

Rancher 2.5.9 版本于 2021 年 7 月 15 日发布。单击这里查看英文版版本说明。

针对 Rancher 漏洞的安全修复

该版本解决了 Rancher 中发现的安全问题。

  • 防止通过恶意的 “Connection” 头进行权限升级。#33588 修复了CVE-2021-31999.
  • 在为应用程序创建 Kubernetes RBAC 资源时使用 apiGroups 而不是 “*“,以避免向集群中存在的所有应用程序 CRD 授予权限。修复CVE-2021-25318. #33590
  • 非特权用户不能再使用另一个用户的云凭证来向云提供商提出 API 请求。修复 CVE-2021-25320. #33589

更多细节,请参见安全公告页面

额外的安全修复

  • 进程在收到恶意的 protobuf 消息时不再 panic。修复了CVE-2021-3121. #32944
  • 更新了 minio-go,移除对 etcd 的依赖,并将 rancherd RKE2 版本更新为 v1.20.7+rke2r2。#33050

Bug 修复

  • vSphere vCenter server 条目已正确移除。#27306
  • 减少了 v3.Catalog 对象的大小,避免超时和 CPU 消耗峰值。#33256
  • 为当工作负载被移除时,为工作负载自动部署的服务也会被移除。#33180
  • Rancher 启动时不再被 CleanupDuplicateBindings 阻止。#32873
  • 将 etcd 备份的非错误日志移至 debug,以避免在管理大量集群时泛滥日志。#32826
  • 修正了一个问题:当一次创建超过 5 个节点时,节点会卡在 Active 状态。#32681
  • 当同时注册超过 100 个集群时,不再出现错误。#32154
  • Rancher 升级后,节点不再停留在 “waiting to register” 状态。#31999

安装/升级注意事项

  • 由于最新的 cert-manager 版本的变化,Rancher 的安装或升级必须在 Helm 3.2.x+的情况下进行。#29213
  • 在安装 Rancher 2.5 之前,Rancher server 的 Local Kubernetes 集群应升级到 Kubernetes 1.17+。
  • 如果在有离线安装的 Rancher 前使用代理,你必须向NO_PROXY传递额外的参数。#2725 Docs
  • Local 集群不能再被关闭,这意味着所有管理员都可以访问本地集群。如果你想限制本地集群的权限,有一个新的restricted-admin 角色,必须使用。现在可以通过在 v3/settings API 中设置 hide_local_clustertrue 来禁用对本地集群的访问。#29325 Docs
  • 对于从>=v2.4.4升级到v2.5.x并启用了 ACI CNI 的集群的用户,请注意升级 Rancher 将导致自动集群 reconciliation。这适用于 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.17-rancher1-1。在升级到v2.5.x之前,请参考解决方法#32002
  • 对于从<=v2.4.8 (<= RKE v1.1.6)升级到v2.4.12+ (RKE v1.1.13+)/v2.5.0+ (RKE v1.2. 0+),请注意编辑和保存集群(即使没有变化或像集群名称这样微不足道的变化)将导致集群 reconciliation,并在所有节点上升级kube-proxy[因为kube-proxy绑定的变化](https://github.com/rancher/rke/pull/2214#issuecomment-680001568)。这只发生在第一次编辑时,以后的编辑应该不会影响集群。[#32216](https://github.com/rancher/rancher/issues/32216))
  • 对于在离线环境中安装或升级 Rancher,请在helm template命令中添加标志--no-hooks,以跳过为 Helm 的钩子渲染文件。#3226
  • 目前有一个设置允许用户以 cron 格式配置刷新时间的长度: eks-refresh-cron。该设置现在已被废弃,并被迁移到新设置中的标准秒格式: eks-refresh。如果以前设置过,迁移将自动触发。#31789
  • 当升级<=v2.5.7>=v2.5.8时,你可能会注意到在应用和市场中,有一个 fleet-agent 的 release 卡在了卸载上。这是由于迁移了 fleet-agent 版本名称造成的。删除 fleet-agent release 是安全的,因为它不再被使用,也不应该删除真正的 fleet-agent 部署,因为它已经被迁移了。#362

Docker 安装

  • 在启动 Rancher Docker 容器时,必须使用特权标志。更多信息请参见文档。
  • 当在离线环境中安装时,你必须为 docker run 命令提供一个自定义的registries.yaml文件,如K3s docs所示。如果注册表有证书,那么你也需要提供这些证书。#28969
  • 启动时间存在 UI 问题。#28800 #28798

Kubernetes 1.19 + firewalld

  • 对于 K8s 1.19 和更新的版本,我们建议禁用 firewalld,因为已经发现它与各种 CNI 插件不兼容。#28840

版本

请参考 README 了解最新和稳定的版本。

请查看我们的 版本文档 以了解更多关于版本和标签惯例的细节。

其他说明

已废弃的功能

功能描述
Cluster Manager - Rancher 监控Cluster Manager UI 中的监控已被新的监控图所取代,该监控图可在 Cluster Explorer 中的 Apps & Marketplace 中使用。
Cluster Manager - Rancher 告警和通知告警和通知功能现在直接与集群资源管理器中的应用程序和市场中可用的新监控图集成。
Cluster Manager - Rancher 日志使用集群资源管理器中的应用程序和市场中可用的新的日志,用新的日志解决方案替换功能。
Cluster Manager - 多集群应用部署现在建议使用 Cluster Explorer 中可用的由 Fleet 支持的 Rancher 持续交付处理部署到多个集群。
Cluster Manager - Kubernetes CIS 1.4扫描 Kubernetes CIS 1.5+基准扫描现在被一个新的扫描工具所取代,该工具部署在 Cluster Explorer 中的应用程序和市场中的 cis 基准图。
luster Manager - Rancher 流水线基于 Git 的部署管道现在推荐使用 Cluster Explorer 中可用的由 Fleet 支持的 Rancher 持续交付来处理。
Cluster Manager - Istio v1.5Istio 项目已经结束对 Istio 1.5 的支持,并建议所有用户升级。Istio 1.7 现在可以在 Cluster Explorer 的 Apps & Marketplace 中作为 Istio Chart 使用。
Cluster Manager - 配置 Kubernetes v1.16 集群我们已终止对 Kubernetes v1.16 的支持。 Cluster Manager 不再提供新的 v1.16 集群。如果您已有 v1.16 集群,则不受影响。

已知的主要问题

  • Logging(集群资源管理器)。在 Windows 集群上禁用 Windows 日志后执行 helm 升级时,Windows 节点 agent 没有被删除。#32325
  • 不支持使用自定义加密提供程序轮换加密密钥。#30539
  • Istio 1.5 不支持离线环境。请注意,Istio 项目已经结束对 Istio 1.5 的支持。请看上面的 “已废弃的功能”。
  • 在离线设置中,生成的rancher-images.txt用于在私有注册表上镜像,不包含运行 Cluster Manager v0.1.x 中监控所需的镜像。运行 k8s 1.15 及以下版本的集群将需要升级 k8s 版本并利用 Cluster Manager v0.2.x 中的监控或升级到 Cluster Explorer 中监控。
  • 导入 Kubernetes v1.21 集群可能无法正常工作。我们正计划在未来增加对 Kubernetes v1.21 的支持。
  • 在设置了 win_prefix_path 的 Windows 集群上部署 Monitoring V2,需要用户部署 Rancher Wins Upgrader 来重新启动主机上的 wins,以便开始在 Prometheus 中收集指标。#32535
  • 如果工作节点使用的安全组阻止对 10254 端口的传入请求,则监控 V2 无法在任何节点上刮取 ingress-nginx pods,除了 Prometheus 部署的那个节点。这个问题的解决方法是在所有主机上开放 10254 端口。#32563

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

  • General
    • 目前并非所有的新功能都可以安装在加固的集群上。
    • 预计新功能将使用 Helm 3 CLI 进行部署,而不是使用 Rancher CLI。
  • Rancher 备份
    • 当迁移到具有 Rancher 备份功能的集群时,server-url 不能被改变到不同的位置,必须继续使用相同的 URL。
  • 监控
    • 监控有时在安装时出错,因为它无法识别 CRD。#29171
  • Istio
    • 在与 v1.9.3 和 v1.8.5 捆绑的 Kiali 仪表盘中访问某个服务的追踪信息时,试图改变显示选项可能会导致该服务的追踪信息出现持久性错误。在这个问题解决之前,如果你想了解某个服务追踪的不同细节,我们建议使用 Jaeger 仪表盘。这个问题的解决方案可以在#32330中找到。
    • 请注意,当从 Istio 1.7.4 或更早的版本升级到任何后来的版本时,可能会出现连接问题。升级说明 #31811
    • 从 v1.8.x 版本开始,DNS 被原生支持。这意味着额外的附加组件 istioCoreDNS 在 v1.8.x 版本中被弃用,在 v1.9x 版本中不被支持。如果您从 v1.8.x 版本升级到 v1.9.x 版本,并且您正在使用 istioCoreDNS 附加组件,我们建议您在升级前禁用它并切换到本机支持的 DNS。如果您在升级时没有禁用它,您将需要手动清理您的安装,因为它不会被自动删除。#31761 #31265

Cluster Explorer 功能注意事项和升级问题

  • GKE
    • 在 Rancher 中将 GKE 集群升级到 1.19+之前,必须在 GCP 中明确禁用基本认证。#32312
    • 在 Terraform 中创建 GKE 集群时,labels 字段不能为空,必须至少设置一个标签 #32553
  • EKS 和 GKE
    • 在 Terraform 中创建 EKS 和 GKE 集群时,字符串字段不能被设置为空。#32440

Rancher 内的版本

镜像

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

工具

Kubernetes 版本

  • 1.20.8 (默认)
  • 1.19.12
  • 1.18.20
  • 1.17.17

升级和回滚

Rancher 同时支持升级和回滚。请注意你想升级或回滚的版本,以改变 Rancher 的版本。

请注意,在升级到 v2.3.0+后,对 Rancher 启动的 Kubernetes 集群的任何编辑都会导致所有系统组件重新启动,因为 Kubernetes 系统组件的容忍度增加。请做好相应的计划。

如果你有一个使用自签名证书的 Rancher 的 HA 安装,那么最近对 cert-manager 的改变需要升级。如果你使用的是比 v0.9.1 更早的 cert-manager,请看关于如何升级 cert-manager 的文档。Docs

现有的 GKE 集群和导入的集群将继续按原样运行。只有新创建和注册的集群将使用新的全生命周期管理。

重要。当回滚时,我们希望你能回滚到升级时的状态。任何升级后的变化将不会被反映出来。