Skip to main content

获取新的 Kubernetes 版本

从 2.3.0 版起可用

RKE 元数据功能允许您在发布新版本的 Kubernetes 后,无需升级 Rancher,立即为集群配置元数据。此功能对于使用 Kubernetes 的补丁版本非常有用,例如,如果您希望在仅支持 Kubernetes v1.14.6 的 Rancher Server 版本中,将业务集群升级到 Kubernetes v1.14.7。

注意: Kubernetes API 可能在次要版本之间发生变化。因此,我们不支持获取 Kubernetes 次要版本,例如在 Rancher Server 当前仅支持 v1.14。如果想要使用 Kubernetes v1.15。您需要升级 Rancher Server 以添加对新的次要 Kubernetes 版本的支持。

Rancher 的 Kubernetes 元数据包含了 Rancher 配置 RKE 集群时可以使用的 Kubernetes 版本信息。Rancher 定期同步数据,并为系统镜像 服务选项插件模板创建自定义资源定义(CRD)。因此,当新的 Kubernetes 版本与 Rancher Server 版本兼容时,Kubernetes 元数据使 Rancher 可以使用新的 Kubernetes 版本来配置集群。元数据概述了 Rancher Kubernetes Engine(RKE)用于部署各种 Kubernetes 版本的信息。

下表描述了受定期数据同步影响的 CRD。

注意: 只有管理员可以编辑元数据 CRD。除非明确需要,否则建议不要更新现有对象。

资源描述RancherAPI URL
系统镜像用于通过 RKE 部署 Kubernetes 集群的系统镜像列表。<RANCHER_SERVER_URL>/v3/rkek8ssystemimages
服务选项传递给 Kubernetes 组件的默认参数,如kube-apischedulerkubeletkube-proxykube-controller-manager<RANCHER_SERVER_URL>/v3/rkek8sserviceoptions
插件模板用于部署插件组件的 YAML 定义,如 Canal、Calico、Flannel、Weave、Kube-dns、CoreDNS、metrics-servernginx-ingress<RANCHER_SERVER_URL>/v3/rkeaddons

管理员可以将 RKE 元数据设置配置为执行以下操作:

  • 刷新 Kubernetes 元数据,如果一个新的 Kubernetes 补丁版本出来了,用户希望 Rancher 在不升级 Rancher 的情况下为集群提供最新版本的 Kubernetes。
  • 更改 Rancher 用于同步元数据的 URL,如果需要让 Rancher 从本地的端点同步而不是与 GitHub 同步,这对于离线环境非常有用。
  • 防止 Rancher 自动同步元数据,这是禁止 Rancher 中使用新的和不受支持的 Kubernetes 版本的一种方法。

刷新 Kubernetes 元数据#

默认情况下,刷新 Kubernetes 元数据的选项可供系统管理员使用,也可供具有管理集群驱动全局权限的任何用户使用。

要强制 Rancher 刷新 Kubernetes 元数据,可以在工具 > 驱动管理 > 刷新 Kubernetes 元数据下执行手动刷新操作。

您可以通过将 refresh-interval-minutes设置为 0(见下文的代码示例),将 Rancher 配置为只在需要时刷新元数据,并在需要时使用该按钮手动执行元数据刷新。

配置元数据同步#

只有管理员可以更改这些设置。

RKE 元数据配置控制 Rancher 同步元数据的频率以及从何处下载数据。您可以从 Rancher UI 中的设置或通过 API v3/settings/rke-metadata-config 配置元数据。

元数据的配置方式取决于 Rancher 版本。

  1. 转到全局视图并单击系统设置选项卡。

  2. 转到rke-metadata-config部分。单击省略号(…)并单击升级

  3. 您可以选择填写以下参数:

    • refresh-interval-minutes:这是 Rancher 等待同步元数据的时间。若要禁用定期刷新,请将refresh-interval-minutes设置为 0。
    • url: 这是 Rancher 从中获取数据的 HTTP 路径。该路径必须是 JSON 文件的直接路径。例如,Rancher v2.4 的默认 URL 是https://releases.rancher.com/kontainer-driver-metadata/release-v2.4/data.json

如果没有离线环境,则无需指定 Rancher 获取元数据的 URL,因为默认设置是从 Rancher 的元数据存储库中提取

但是,如果您有离线环境需求,则需要将 Kubernetes 元数据仓库镜像到 Rancher 可用的位置。然后,您需要更改 URL 以指向 JSON 文件的新位置。

离线环境#

Rancher Server 会定期刷新并下载rke-metadata-config中配置定元数据。如果新的元数据中包含当前 Rancher Server 版本支持的新的 Kubernetes 版本元数据。则用户可以在不升级 Rancher 的情况下,开始使用这些新的 Kubernetes 版本。有关 Kubernetes 和 Rancher 版本的兼容性表,请参阅服务条款

如果您有一个离线环境,则可能无法从 Rancher 的 Git 代码库中自动定期刷新 Kubernetes 元数据。在这种情况下,应该禁用定期刷新以防止在日志中显示相关错误。或者,您可以配置rke-metadata-config,以便 Rancher 可以与 RKE 元数据的本地副本同步。

若要将 Rancher 与 RKE 元数据的本地镜像同步,管理员将通过更新rke-metadata-config以指向镜像的仓库。请参见配置元数据同步

在将新的 Kubernetes 版本加载到 Rancher Server 中之后,需要执行其他步骤才能使用它们启动集群。Rancher 需要访问更新的系统镜像。虽然元数据设置只能由系统管理员更改,但任何用户都可以下载 Rancher 系统镜像并为它们准备一个私有镜像仓库。

  1. 要下载私有镜像仓库所需的镜像,请单击 Rancher UI 左下角的 Rancher Server 版本。
  2. 下载 Linux 或 Windows 操作系统的特定镜像列表。
  3. 下载rancher-images.txt
  4. 使用与离线安装过程中相同的步骤准备私有镜像仓库,但不要使用发布公告页面中的rancher-images.txt,而是使用从前面步骤获得的镜像列表。

结果: Rancher 的离线安装现在可以同步 Kubernetes 元数据了。如果在新版本的 Kubernetes 发布后,更新了本地的 RKE 元数据 Git 库,并且在私有镜像仓库中同步了新的镜像,那么您可以在无需升级 Rancher Server 版本的情况下使用新版本的 Kubernetes 配置集群。

Last updated on by vickyhella3