• 在升级到 v2.3.0 时,第一次修改通过 Rancher v2.3.0 之前版本部署的 RKE 集群时,由于要向系统组件中加入 Tolerations,该集群全部的系统组件将会自动重启。升级前请预先做好数据备份。

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

重大改动

  • Rancher CLI 改动 - 将不在会像之前那样一直 block 住直到安装完成。它将会立刻退出。如果您需要您的 CLI 在这种情况下 block 住,那么请使用rancher wait app install。[]

  • 通过 YAML 创建 RKE 集群 - 如果您之前保存了 yaml 文件用来启动 RKE 部署的集群,那么您将需要更新这个 yaml。任何关于 RKE 的字段都应该被放在rancher_kubernetes_engine_config:下面。

  • Kubernetes 1.16 API Endpoint 改动 - Kubernetes 1.16 里,引入了一些新的 API,并且在旧版本中用到的一些 API 版本将会被弃用。请检查您的工作负载和应用商店,确保它们兼容新版本的 Kubernetes。Rancher 推荐您使用实验性的 Kubernetes 1.16 版本来进行兼容性测试。[#22426]

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

您可以通过,了解更多关于不同版本和标签的区别。

功能和优化

  • Windows GA [#16460] - 支持的功能生产可用!Windows 集群支持 Kubernetes 1.15 和 Windows Server 1809/1903。如果您想使用 Windows 集群,您必须重建一个新的集群,并且需要选择 flannel 作为网络插件。您不需要明确指定 Windows 工作负载的调度规则,来确保它们被调度到 Windows 节点上。当 Rancher 创建 Windows 集群时,Rancher 会自动在 Windows 集群的 Linux 节点上添加 taints,从而确保您的 Windows Pod 不会被调度到 Linux 节点上。如果您需要把 Linux 工作负载调度到这个集群,那么您需要自己添加相应的 tolerations 和调度规则。

  • Istio [#19582] - 在 Rancher 中运维 Istio 变得简单,您可以按照的文档来激活 Istio。这些组件包括了开箱即用的用来来展示流量信息的 Kiali 仪表盘,用来进行追踪的 Jaeger,用来展示观察数据的 Prometheus 和 Grafana。开发人员可以正常的使用 Kubectl 来和 Istio 进行交互,来使用 Istio 的全部功能。

  • RKE 集群模板 [#14337] - 用户可以创建。这个模板定义了 RKE 集群的全部参数。管理员可以通过 RKE 模板,强制用户使用合规的参数创建集群。创建和修改 RKE 集群模板的权限是由 RBAC 控制的。RKE 模板创建者可以决定哪些参数可以被使用该模板的用户覆盖,哪些参数只能使用默认参数不能被使用者覆盖。

  • 自恢复的 Node Pools [#15737] - 用户可以。Rancher Server 会根据这个超时时间来删除无响应的节点,并进行重建。这个参数可以确保您的节点池中可用节点的数量是您所期望的。

  • 提供自动接收新 Kubernetes 版本的能力 [#18041] - Rancher 可以在不发布新 Rancher 版本的情况下,。用户将自动接收到这些新版本的 Kubernetes,并且不用升级 Rancher Server。在 Rancher 中创建 RKE 集群时,您将可以使用到这些新版本。对于离线环境用户,您需要自己手动镜像 Rancher Kubernetes Metadata,并在需要时手动同步这些元数据。

  • 支持 Google 认证对接 [#1411] - 。由于 Google 的要求,您的 Rancher Server 必须使用 FQDN。

  • 支持通过 UI 管理 HPA [#19084] - 支持通过 UI 管理。

  • 支持应用商店模板设置可用的 Rancher 版本的最大值和最小值 [#18469] - 您现在可以给应用商店模板设置该模板所。这可以保证某些版本的模板只能在某些 Rancher 版本中可见,这样我们可以针对这些 Rancher 版本对应用进行更好的测试。如果应用商店的应用所用到的功能只在某些 Rancher 版本中可用,那么我们也需要通过这个配置来进行控制。

  • 托管 Kubernetes 集群优化

    • EKS
      • 支持 k8s 1.13 和 1.14 [#20992]
      • 支持使用现有的 SSH key 部署 EKS []
      • 支持 Hong Kong (ap-east-1) 和 Bahrain (me-south-1) 区域[#22339, ]
  • 支持设置 ingress controller 的 DNS policy [RKE #1531]

  • rancher app install命令里支持—helm-wait—helm-timeout选项 []

  • 支持设置 UI token 过期时间 [#16467]

  • 支持给集群设置 labels 和 annotations []

  • 支持创建对 Windows 操作系统友好的备份文件 [#22019]

我们提供了一种启停 Rancher 中实验性功能模块的能力。在这个版本里,您需要通过 API 来控制“功能开关”。详情请查阅的文档。

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

  • 修复了一个 EKS 无法选择小于三个 worker 节点的问题 [#18243]
  • 修复了一个用户无法在 UI 上选择自定义项目角色的问题 []
  • 修复了一个非管理员无法查看应用历史版本的问题 [#20204]
  • 修复了一个 CLI 无法回滚应用的问题 []
  • 修复了一个启用监控时无法设置节点选择器的问题 [#22760]
  • 修复了一个在 UI 上编辑 calico-node 部署时,导致 calico 健康检查错误的问题 []
  • 修复了一个无法编辑名称中含有点的 ingress 的问题 [#20809]
  • 修复了一个编辑导入集群时,集群类型信息不清晰的问题 []
  • 修复了一个 etcd 快照不能识别 docker 的 https_proxy 配置的问题 [RKE #1369]
  • 修复了一个 Azure 节点池不支持托管磁盘的问题 []
  • 修复了一个通过 CLI 升级 app 时,如果不传任何应答参数,将导致无法升级的问题 [#17405]
  • 修复了一个无法正确显示导入集群中的 node port mapping 的问题 []
  • 修复了一个日志和监控在PSP 下无法工作的问题 [#22593, ]
  • 修复了一个无法备份到 AWS ap-east-1 区域的 S3 的问题 [#22355]
  • 修复了一个 Rancher server chart 的外部 TLS 选项不生效的问题 []
  • 修复了一个 Pod 重启时不能发送告警到 slack 的问题 [#20339]
  • 修复了一个磁盘用量显示错误的问题 [
  • 修复了一个测试 fluentd 连通性时异常的的问题 [#20120]
  • 修复了一个无法通过流水线部署项目级别应用商店中的应用的问题[]
  • 通过升级 fluetnd 版本,修复了一个 fluentd 会消耗掉全部 inodes 的问题 [#22689]
  • 修复了一个无法部署含有相对路径 url 的 Catalog 的问题 []
  • 修复了一个无法删除告警规则中唯一的接收者的问题 [#18616]
  • 修复了一个通过 UI 部署应用商店应用时,无法传递字符串类型的数字的问题 []
  • 修复了一个通过 Rancher CLI 创建集群时导致 cloud provider 信息丢失的问题 [#15098]
  • 修复很多其他关于的问题

其他说明

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

  • Windows 集群限制 - 由于其他上游依赖的原因,Windows 集群有一些已知的限制:

    • Windows 集群的日志功能仅在 Flannel Host Gateway (L2bridge)模式下可以使用。该问题将在 k8s 1.18 版本中修复。[]

  • Istio 限制 - Istio 无法在使用受限的 Pod 安全策略的集群中激活 [#22469]

  • HPA 限制 - 因为 GKE 不支持v2beta2.autoscaling版本的 API。所以在 Rancher UI 中无法通过 UI 管理 GKE 集群的 HPA 资源。[]

  • 安全加固限制 - 如果您按照 Rancher 的安全加固手册进行了配置,那么您将会遇到一些已知的问题。

    • 监控将无法工作 [#20884]
    • Rancher UI 中的 kubectl 将无法工作 []
    • 流水线将无法工作 [#22844]
  • 如果您是从 v2.2 升级上来的环境,在向已有节点模版中添加的 Taints 后,并使用这个节点模版来扩容 Worker 节点,那么这些新的 Worker 节点可能无法正常工作。您必须在对管理节点或 etcd 节点进行扩缩容后,或是对集群进行编辑后,这些带有 Taints 的新 Worker 节点才能正常工作。因为只有在集群 Reconcile 被触发后,系统组件才会自动添加 Tolerations []

  • 在升级 Rancher 版本后,集群告警组件或集群日志组件有可能会卡在Updating状态。临时解决方案可以在这个 issue 中找到。[#21480]

  • 如果您的 Rancher Server 所在的集群配置了 OpenStack cloud provider 并设置了 LoadBalancer,并且这个 Rancher Server 所在的集群是在 v2.2.3 或者更早的版本创建的,那么直接升级到 Rancher v2.2.4 或之后的版本将会失败。您可以在这个 issue 的评论中找到这种情况下的迁移方法 []

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

升级和回滚

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

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

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

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

Assets