:::important 提示 我们在 v2.4.0 中发了这个问题, 然后在 v2.4.2 修复了这个问题。 :::

Rancher 2.4.0 版本于 2020 年 3 月 31 日发布。本文介绍了 Rancher 2.4.0 相较上一版本(2.3.6)的重大改动、新增的实验性功能、已修复的问题和已知问题。点击这里查看英文版版本说明。

重要说明

  • 使用单节点 Docker 安装的用户请注意: - Docker 容器中的 Etcd 已从 3.3 升级到了 3.4,因此,您必须在升级之前进行备份,以便能够回滚到 v2.3.x 版本。没有此备份,将无法回滚。

  • 使用节点池功能,并使用 RHEL/CentOS 的用户请注意 [#18065]: RHEL / CentOS 节点的默认存储驱动已更新为overlay2。如果您的节点模板未指定存储驱动,则在使用该模版创建新节点时,将使用默认值overlay2而不是之前的devicemapper作为存储驱动。如果您需要继续使用devicemapper作为存储驱动选项,请编辑节点模板,并将存储驱动显式设置为 devicemapper

  • 使用 Windows 集群的用户请注意 [#25582]: - Windows 已于 2 月 11 日发布了安全补丁程序。升级之前,请更新您的节点以包括此安全补丁程序,否则,升级将失败,直到您使用该补丁程序为止。

  • Rancher 部署的集群(RKE 集群)需要额外的 500MB 磁盘空间 - Rancher 部署的集群(RKE 集群)默认开启了审计日志功能。

  • Rancher 部署的集群(RKE 集群)升级方式发生了变化 [#23897]: - 请参考零宕机升级功能以了解更多信息。

版本

下面的版本为当前的最新版和稳定版:

类型Rancher 版本Docker 标签Helm 仓库Helm Chart 版本
最新版v2.4.0rancher/rancher:latestserver-charts/latestv2.4.0
稳定版v2.3.6rancher/rancher:stableserver-charts/stablev2.4.0

您可以通过如何选择版本的文档,了解更多关于不同版本和标签的区别。

功能和优化

  • CIS 安全扫描 [#18600]:现在可以直接在 Rancher 中确保 RKE 集群的持续 CIS 安全合规性。Rancher 的运维人员可以临时或定期对 RKE 集群执行 CIS 安全扫描。运维人员可以查看安全扫描的历史记录,并为安全审核人员提供安全报告。您可以设置对集群进行定期的安全扫描,当检测到集群安全合规性发生变化时可以通知运维人员。扫描的具体内容可通过配置映射进行自定义,如果测试的控件不适用于您的安装,则可以跳过测试。

  • 性能优化 [#23013]:单个 Rancher 控制平面现在最多可管理两千个集群或十万个节点。Rancher 通过使用共享的全局集群状态,减少了管理每个集群所需的内存空间和 Kubernetes API 连接数。并优化了 Rancher 控制器,以减少对 Kubernetes API 的调用总数。基于这些改进,我们更新了用于安装 Rancher 的集群规模指南

  • 零宕机升级集群 [#23038#20465]:现在可以在不影响 Kubernetes API Server 和用户工作负载的情况下对 RKE 集群进行更新。集群控制平面的升级过程已被修改为一次更新一个节点(可配置)。并且,可以由用户配置一次可以升级的工作节点的数量。对于追求最大可用性的集群,可以一次升级单个节点。对于那些规模较大的 RKE 集群,用户可以根据自己的情况添加每次升级节点的数量,以便在较短的时间内完成升级。

  • 集群原子回滚 [#22232]:Rancher 现在支持通过一次操作回滚 etcd 数据库和 Kubernetes 配置。如果升级集群遇到问题,并且运维人员需要恢复集群到最近的正常状态,则可以在升级失败时,使用此操作。在回滚过程中,将不会通过滚动升级的方式保证集群的可用性,因为这时应该尽快将集群恢复到正常状态。

  • 通过 Rancher UI 升级导入的 K3s 集群的版本 [#25141]:现在可以从 Rancher UI 升级导入的 K3s 集群。 Rancher 现在将自动发现到已导入的 K3s 集群,并在编辑集群时向运维人员提供新选项。现在支持在 Rancher UI 中更新 Kubernetes 版本,以及在节点详情页显示这个节点的 K3s 配置参数。

  • Helm 3 支持 [#20596]:Rancher 的应用商店现在支持 Helm 3。系统管理员,集群所有者,项目所有者可以添加使用 Helm 3 的应用商店。对所有已有应用商店,Rancher 将继续使用 Helm 2 来部署,管理这些应用商店中的应用。

  • Helm 2 升级 [#25663]: 除了 Helm 3 的支持外,Helm 2 也已升级到了 v2.16。注意:如果您以前曾在 Rancher 中添加了 Helm 3(API v2)的 Chart,您需要重新在 Rancher 中添加这个应用商店并指定为使用 Helm3。

  • 支持使用 K3s 部署 Rancher 高可用 [#25495]:Rancher HA 现在支持部署在 K3s Kubernetes 集群上。Rancher 管理员可以使用托管的 MySQL 服务和无状态的节点创建 K3s 集群,并用这个 K3s 集群部署 Rancher 管理面。您不再必须使用 etcd 作为 Kubernetes 集群的数据库。

  • 身份验证和 RBAC 增强

    • 给用户组分配全局权限 [#22707]:Rancher 中的全局角色现在支持将它们分配给您对接的认证系统中的用户组,分配组意味着管理员无需处理由于团队成员在组织内进出时,需要进行的权限分配改动。
    • 自定义全局角色 [#16216]:现在,可以通过创建全局角色为所有用户自定义默认行为。例如,您可以创建一个没有创建集群权限的默认角色,并将这个角色作为默认角色。
    • 支持对接 Shibboleth 认证系统 [#19776]:Shibboleth 现在可以用作身份验证提供者。
    • Shibboleth 和 OpenLDAP [#14404]:支持设置 OpenLDAP 配合 Shibboleth 一起使用,以提供对用户,用户所在组和非用户所在组的搜索。注意:嵌套组中的用户将不会获得与被添加的组相同的权限。例如,组 A 包括组 B。组 B 中的成员将不会获得与组 A 相同的特权。
  • 监控增强

    • Remote Read 和 Remote Write 支持[#20624]:能够进行远程读/写。这允许与远端存储进行集成。
    • 支持配置 livenessProbe [#23983]:能够配置监控组件中的工作负载的 livenessProve 选项。
  • 操作系统更新

    • 添加了对 Oracle Linux 7.7 的支持 [#25192]
    • 添加了对 Suse Linux 12 SP5 的支持 [#23044]
  • 托管 K8S 提供商更新

    • EKS:添加了 1.15,删除了 1.11 和 1.12
    • EKS:能够为 /dev/xvda1 加密 EBS 卷 [#22633#21552]
  • Rancher 启动的 Kuberentes 集群(RKE 集群)更新

    • 使用 nodelocal DNS 的能力 [#25811]
    • 新集群将自动启用审计日志

实验性功能

  • OPA Gatekeeper [#23753]:Rancher 现在为 Open Policy Agent Gatekeeper 提供实验性支持。Rancher 中可以部署,安装,管理 OPA Gatekeeper。管理员可以通过下一代 UI 与 OPA Gatekeeper 的 CRD 进行交互,以在集群中定义策略,并根据需要将其应用于各种命名空间。默认情况下,Rancher 提供了两个开箱即用的约束模版,它们可以用于设置镜像仓库白名单和禁止部署不含特定标签的工作负载。

  • 下一代 UI 预览版:下一代 Rancher UI 的预览版本在集群级别视图可用。您可以通过新版 UI 查看集群中的任意 CRD,这可以帮助您更好的管理集群。新的 Rancher UI 提供了基于原生 Kubernetes 命名空间的导航栏。用户仍然可以使用 Rancher 项目来管理多个命名空间中的属性。YAML 编辑器提供了一种使用基于 OpenAPI 规范的字段建议来显示所有 Kubernetes 对象的参数。注意:此功能仍处于试验阶段,在离线环境中,目前不支持此功能。

实验性功能的功能开关

我们提供了一种启停 Rancher 中实验性功能模块的能力。在这个版本里,您可以通过 UI 来控制“功能开关”。有些功能开关的调整会导致 Rancher Server 重启,详情请查阅在 Rancher 中如何开启某些功能的文档。

功能开关功能开关名称默认值可用版本是否需要重启 Rancher?
下一代 UIdashboardtruev2.4.0
新 Proxyproxyfalsev2.4.0
在 UI 中启用非默认激活的存储驱动(例如:Ceph)unsupported-storage-driversfalsev2.3.0

自 v2.3.6 以来修复的主要问题

  • 修复了 Rancher CLI 无法通过 SSH 进入 EC2 中的节点的问题 [#13556]
  • 修复了为内存预留设置节点警报时,也同时设置了 CPU 预留警报的问题 [#23308]
  • 修复了本地集群无法显示证书是否过期的问题 [#23543]
  • 修复了 weave 密码在更新集群时更改的问题,这会导致网络问题 [#23702]
  • 修复了有时轮换 etcd 证书会失败的问题 [#23827]
  • 修复了按命名空间/工作负载视图分组时 CRD 管理的 Pod 不在 UI 中显示的问题 [#22106]
  • 修复了配置的电子邮件通知返回纯文本密码的问题 [#24335]
  • 修复了配置文件夹时仅在本地删除定期 S3 快照的问题 [#24544]
  • 修复了删除 Rancher 中的节点后,boot2docker.iso 文件将在 vSphere 数据存储中保留的问题 [#24758]
  • 修复了当应用商店中存在无效 Chart URL 时,helm 失败的问题[#24914]
  • 修复了当 SElinux 处于强制模式时,日志容器不能工作的问题 [#25182]
  • 修复了在工作负载创建过程中无法绑定 PVC 的问题 [#22614]
  • 修复了 AWS Cloud Provider 和 IAM 配置文件名称导致集群配置失败的问题。[#22814]
  • 修复了在 Rancher Server 节点上无法访问 IAM 配置文件时无法支持 S3 快照的问题[#22900]
  • 修复了无法将节点标签添加到导入的 k3s 或 RKE 节点的问题 [#23840]
  • 修复了删除项目时没有删除项目监控的工作负载问题 [#23848]
  • 修复了 Chart 版本无法接受加号的问题 [#24863]
  • 修复了 Pod 使用率(CPU /内存)翻倍的问题 [#25539]

其他说明

离线安装和升级

在 v2.4.0 的版本里,离线安装将不在需要手动同步 system charts 的源代码仓库了。具体操作请参阅有关安装 Rancher 时,如何使用内嵌的 system charts

主要的已知问题

  • 当集群中的节点断电时,Metrics Server Pod 和 CoreDNS Pod 可能不会从节点中移出,需要手动删除,才能将其重新调度到可用节点 [#26190#26191]
  • 某些情况下,即使已完成升级集群,单节点的 k3s 集群仍然显示Upgrading状态 [#26286]
  • 日志功能在导入的 k3s 集群中不能正常工作 [#24157]

版本信息

镜像

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

工具

Kubernetes 版本

注:在 v2.3.0+版本中,在有新的 Kubernetes 版本可用时,即使不升级 Rancher 版本,我们也会自动向您推送这些版本。所以您在 Rancher UI 中看到的可用版本,可能会高于如下版本。

升级和回滚

Rancher 支持升级回滚操作。在修改 Rancher 版本时,请先确认您要升级到或者回滚到的 Rancher 版本。

请注意,在升级到 v2.3.0 或者以上版本时,第一次修改通过 Rancher v2.3.0 之前版本部署的 RKE 集群时,由于要向系统组件中加入 Tolerations,该集群全部的系统组件将会自动重启。请事先规划好。

如果您的 Rancher HA 在使用 低于 v0.9.1 的 cert-manager,并且是自签名证书,由于 cert-manager 最新的变化,您需要升级 cert-manager 的版本。具体操作请参阅有关如何升级 cert-manager的文档。

:::important 重要 在回滚的时候,您将会被回滚到升级之前的状态。任何在升级后进行的改动将无法被保留。 :::

Assets

请在这里获取该版本的 Assets。