跳到主要内容

v1.25.X

升级通知

在从早期版本升级之前,请务必阅读 Kubernetes 紧急升级说明

版本发布时间KubernetesKineSQLiteEtcdContainerdRuncFlannelMetrics-serverTraefikCoreDNSHelm-controllerLocal-path-provisioner
v1.25.16+k3s42023年12月7日v1.25.16v0.11.03.42.0v3.5.3-k3s1v1.7.7-k3s1v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.25.15+k3s22023年11月8日v1.25.15v0.10.33.42.0v3.5.3-k3s1v1.7.7-k3s1v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.25.15+k3s12023年10月30日v1.25.15v0.10.33.42.0v3.5.3-k3s1v1.7.7-k3s1v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.25.14+k3s12023年9月20日v1.25.14v0.10.33.42.0v3.5.3-k3s1v1.7.6-k3s1v1.1.8v0.22.2v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.25.13+k3s12023年9月5日v1.25.13v0.10.23.42.0v3.5.3-k3s1v1.7.3-k3s1v1.1.8v0.22.2v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.25.12+k3s12023年7月27日v1.25.12v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.22.0v0.6.3v2.9.10v1.10.1v0.15.2v0.0.24
v1.25.11+k3s12023年6月26日v1.25.11v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.22.0v0.6.3v2.9.10v1.10.1v0.15.0v0.0.24
v1.25.10+k3s12023年5月26日v1.25.10v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.4v0.6.2v2.9.10v1.10.1v0.14.0v0.0.24
v1.25.9+k3s12023年4月20日v1.25.9v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.5v0.21.4v0.6.2v2.9.4v1.10.1v0.13.3v0.0.24
v1.25.8+k3s12023年3月27日v1.25.8v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.4v0.21.4v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.25.7+k3s12023年3月10日v1.25.7v0.9.93.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.21.1v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.25.6+k3s12023年1月26日v1.25.6v0.9.63.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.20.2v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.25.5+k3s22023年1月11日v1.25.5v0.9.63.39.2v3.5.3-k3s1v1.6.14-k3s1v1.1.4v0.20.2v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.25.5+k3s12022年12月20日v1.25.5v0.9.63.39.2v3.5.3-k3s1v1.6.12-k3s1v1.1.4v0.20.2v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.25.4+k3s12022年11月18日v1.25.4v0.9.63.39.2v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.20.1v0.6.1v2.9.4v1.9.4v0.13.0v0.0.23
v1.25.3+k3s12022年10月25日v1.25.3v0.9.33.36.0v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.19.2v0.6.1v2.9.1v1.9.1v0.12.3v0.0.21
v1.25.2+k3s12022年9月28日v1.25.2v0.9.33.36.0v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.19.2v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.25.0+k3s12022年9月12日v1.25.0v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s2v1.1.3v0.19.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21

发布 v1.25.16+k3s4

此版本将 Kubernetes 更新至 v1.25.16,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.15+k3s2 以来的更改:

  • Etcd 状态条件 (#8819)
  • 2023-11 版本的回溯 (#8880)
    • Docker 镜像中的新时区信息允许在 CronJob 中使用 spec.timeZone
    • 将 kine 升级至 v0.11.0 以解决与 postgres 和 NATS 的问题,修复重负载下 watch 通道的性能问题,并提高与参考实现的兼容性。
    • 现在可以通过定义 rdt_config.yamlblockio_config.yaml 文件来配置 containerd 以使用 rdt 或 blockio 配置。
    • 添加代理标志 disable-apiserver-lb,代理将不会启动负载均衡代理。
    • 改进来自 ServiceLB 的入口 IP 排序。
    • 为 disable-helm-controller 禁用 helm CRD 安装。
    • 省略没有额外元数据的快照的快照列表配置映射条目。
    • 向客户端配置重试添加抖动,以避免在服务器启动时对服务器进行猛烈攻击。
  • 在 etcd 中处理运行时核心未准备就绪时的空指针 (#8889)
  • 改进双栈日志 (#8867)
  • 升级 dynamiclistener;减少快照控制器日志输出 (#8904)
    • 升级 dynamiclistener 以解决可能导致服务器无法将证书同步到 Kubernetes 密钥的竞争条件。
    • 减少集群初始启动期间 etcd 快照日志的垃圾信息。
  • 修复 etcd 快照 S3 问题 (#8939)
    • 如果 S3 客户端初始化失败,则不要应用 S3 保留策略。
    • 列出 S3 快照时不要请求元数据。
    • 在快照元数据日志消息中打印密钥而不是文件路径。
  • 更新至 v1.25.16 (#8923)
  • 由于运行器已禁用,因此暂时删除 s390x 步骤 (#8993)
  • 从清单脚本中删除 s390x (#8994)

发布 v1.25.15+k3s2

此版本将 Kubernetes 更新至 v1.25.15,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.15+k3s1 以来的更改:

  • E2E 域无人机清理 (#8584)
  • 修复 templates_linux.go 中的 SystemdCgroup (#8767)
    • 修复了识别其他容器运行时的错误。
  • 将 traefik 图表更新至 v25.0.0 (#8777)
  • 更新 traefik 以修复注册表值 (#8791)

发布 v1.25.15+k3s1

此版本将 Kubernetes 更新至 v1.25.15,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.14+k3s1 以来的更改:

  • 修复错误报告 (#8413)
  • 向 flannel 错误添加上下文 (#8421)
  • 九月测试回溯 (#8301)
  • 在错误消息中包含接口名称 (#8437)
  • 向 tailscale 添加 extraArgs (#8466)
  • 更新 kube-router (#8445)
  • 使用服务器标志时,在集群重置时添加错误 (#8457)
    • 当使用 --server 标志时,用户将在使用 --cluster-reset 时收到错误。
  • 从非引导节点重置集群 (#8454)
  • 修复拼写错误 (#8511)
  • 根据顺序采用 IPFamily 优先级 (#8506)
  • 网络默认值重复,删除一个 (#8553)
  • 发布地址集成测试 (#8518)
  • 修复了在 IPv4 仅节点情况下,tailscale 节点 IP 双栈模式的问题 (#8560)
  • 服务器令牌轮换 (#8578)
    • 用户现在可以使用 k3s token rotate -t <OLD_TOKEN> --new-token <NEW_TOKEN> 轮换服务器令牌。命令成功后,所有服务器节点都必须使用新令牌重新启动。
  • 清除集群重置时的删除注释 (#8589)
    • 修复了在快照拍摄时如果成员排队等待删除,则 k3s 可能会尝试在集群重置/恢复后立即从 etcd 集群中删除成员的问题。
  • 在双栈情况下,如果 IPv6 是第一个配置的 IP,则使用 IPv6 (#8599)
  • 2023-10 版本的回溯 (#8617)
  • 在构建脚本中更新 kube-router 包 (#8636)
  • 添加仅 etcd/仅控制平面的服务器测试,并修复仅控制平面的服务器崩溃 (#8644)
  • Windows 代理支持 (#8646)
  • 使用 version.Program 而不是 K3s 在令牌轮换日志中 (#8654)
  • 添加 --image-service-endpoint 标志 (#8279) (#8664)
    • 添加 --image-service-endpoint 标志以指定外部镜像服务套接字。
  • 回溯 etcd 修复程序 (#8692)
    • 重新启用 etcd 端点自动同步。
    • 当没有节点已协调快照时,手动重新排队配置映射协调。
  • 更新至 v1.25.15 和 Go 至 v1.20.10 (#8679)
  • 修复 s3 快照还原 (#8735)

发布 v1.25.14+k3s1

此版本将 Kubernetes 更新至 v1.25.14,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.13+k3s1 以来的更改:

  • 将 kine 升级至 v0.10.3 (#8326)
  • 将 Kubernetes 更新至 v1.25.14,并将 go 更新至 1.20.8 (#8350)
  • 反向移植 containerd 版本升级和测试修复 (#8384)
    • 将嵌入式 containerd 升级至 v1.7.6
    • 将嵌入式 stargz-snapshotter 插件升级至最新版本
    • 修复由于测试环境设置脚本中的竞争条件导致的间歇性 Drone CI 故障
    • 修复由于 Kubernetes 1.28 中的 API 发现更改导致的 CI 故障

发布 v1.25.13+k3s1

此版本将 Kubernetes 更新至 v1.25.13,并修复了一些问题。

重要

此版本包含对 CVE-2023-32187 的修复支持,这是一个可能针对 K3s 服务器的潜在拒绝服务攻击向量。有关更多信息,包括针对此漏洞强化集群的必要步骤,请参阅 https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.12+k3s1 以来发生的变化:

  • 更新 flannel 和插件 (#8076)
  • 修复 Tailscale 在 IP 模式下的 bug (#8098)
  • 节点名称更改时的 etcd 快照保留 (#8123)
  • 8 月份测试反向移植 (#8127)
  • 针对 2023-08 版本的反向移植 (#8132)
    • K3s 的外部 API 服务器侦听器现在拒绝向其证书添加任何与 Kubernetes API 服务器服务、服务器节点或 --tls-san 选项的值不相关的主题名称。这防止证书的 SAN 列表被填充不必要的条目。
    • 当没有使用 egress 代理来路由到集群内端点的连接时,K3s 不会再启用 API 服务器的 enable-aggregator-routing 标志。
    • 将嵌入式 containerd 更新至 v1.7.3+k3s1
    • 将嵌入式 runc 更新至 v1.1.8
    • 用户提供的 containerd 配置模板现在可以使用 {{ template "base" . }} 来包含默认的 K3s 模板内容。如果只需要在文件添加其他部分,这将更容易维护用户配置。
    • 将 docker/docker 模块版本升级,以解决由最近发布的 golang 拒绝 docker 客户端发送的无效主机头导致的 cri-dockerd 问题。
    • 将 kine 更新至 v0.10.2
  • 当使用 s3 标志调用时,K3s etcd-snapshot delete 无法删除本地文件 (#8145)
  • 修复 etcd 快照禁用时来自 s3 的集群重置备份 (#8169)
  • 修复 etcd 保留功能,根据日期删除孤立快照 (#8190)
  • 针对 2023-08 版本的额外反向移植 (#8213)
    • 捆绑的 helm 控制器作业镜像中使用的 helm 版本已更新至 v3.12.3
    • 升级 dynamiclistener 以解决一个问题,该问题可能导致 6443 上的 API 服务器/主管侦听器停止在 etcd-only 节点上提供服务请求。
    • K3s 6443 上的外部 API 服务器/主管侦听器现在在 TLS 握手过程中发送完整的证书链。
  • 将 flannel 迁移至 0.22.2 (#8223)
  • 更新至 v1.25.13 (#8241)
  • 修复 runc 版本升级 (#8246)
  • 添加新的 CLI 标志以启用 TLS SAN CN 过滤 (#8259)
    • 添加了一个新的 --tls-san-security 选项。此标志默认值为 false,但可以设置为 true 以禁用自动将 SAN 添加到服务器的 TLS 证书以满足客户端请求的任何主机名。
  • 添加 RWMutex 以解决控制器问题 (#8275)

发布 v1.25.12+k3s1

此版本将 Kubernetes 更新至 v1.25.12,并修复了一些问题。
​ 有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明。 ​

自 v1.25.11+k3s1 以来发生的变化:

  • 删除 file_windows.go (#7856)
  • 修复代码拼写检查 (#7860)
  • 允许 k3s 在 helm-controller 上自定义 apiServerPort (#7873)
  • 在执行 Tailscale 时检查是否处于 ipv4、ipv6 或 dualStack (#7883)
  • 支持为 Tailscale 设置控制服务器 URL。 (#7894)
  • S3 和启动测试 (#7886)
  • 修复无根节点密码 (#7900)
  • 针对 2023-07 版本的反向移植 (#7909)
    • 解决了一个问题,该问题导致使用 kubeadm 式引导令牌加入的代理在删除其节点对象时无法重新加入集群。
    • k3s certificate rotate-ca 命令现在支持 data-dir 标志。
  • 向自定义 klipper helm 镜像添加 cli (#7915)
    • 默认的 helm-controller 作业镜像现在可以使用 --helm-job-image CLI 标志覆盖
  • 如果 etcd 已禁用,则生成 etcd 的证书和密钥 (#7945)
  • 如果 apparmor 配置文件强制执行,则不要在 check-config 中使用 zgrep (#7954)
  • 修复 image_scan.sh 脚本并下载 trivy 版本 (#7950) (#7969)
  • 调整默认 kubeconfig 文件权限 (#7984)
  • 更新至 v1.25.12 (#8021)

发布 v1.25.11+k3s1

此版本将 Kubernetes 更新至 v1.25.11,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.10+k3s1 以来发生的变化:

  • 更新 flannel 版本 (#7649)
  • 升级 Vagrant libvirt,修复插件安装问题 (#7659)
  • E2E 反向移植 - 6 月份 (#7705)
    • 使用版本或帮助标志的短路命令 #7683
    • 添加轮换认证检查,删除用于重新启动代理的函数 #7097
    • E2E:RunCmdOnNode 的 Sudo #7686
  • 添加私有注册表 E2E 测试 (#7722)
  • VPN 集成 (#7728)
  • 修复拼写测试 (#7752)
  • 删除未使用的 libvirt 配置 (#7758)
  • 反向移植版本升级和错误修复 (#7718)
    • 捆绑的 metrics-server 已升级至 v0.6.3,现在默认情况下仅使用安全的 TLS 密码。
    • coredns-custom ConfigMap 现在允许在 .:53 默认服务器块中包含 *.override 部分。
    • K3s 核心控制器(主管、部署和 helm)不再使用管理员 kubeconfig。这使得更容易从访问和审计日志中确定哪些操作是由系统执行的,哪些是由管理员执行的。
    • 将 klipper-lb 镜像升级至 v0.4.4,以解决当 Service ExternalTrafficPolicy 设置为 Local 时,无法从 localhost 访问 ServiceLB 端口的问题。
    • 在编译 k3s 时使 LB 镜像可配置
    • K3s 现在允许节点加入集群,即使在节点加入时无法创建节点密码机密。机密创建将在后台重试。这解决了一个由故障关闭的验证 Webhook(阻止机密创建)创建的潜在死锁,其中 webhook 在新节点加入集群以运行 webhook pod 之前不可用。
    • 捆绑的 containerd 的 aufs/devmapper/zfs 快照程序插件已恢复。在将 containerd 移回之前版本中的 k3s multicall 二进制文件中时,这些插件被无意中省略了。
    • 嵌入式 helm 控制器已升级至 v0.15.0,现在支持在图表的目标命名空间不存在时创建它。
  • 在 Makefile 上添加格式命令 (#7763)
  • 修复 Tailscale 中的日志记录和清理问题 (#7784)
  • 将 Kubernetes 更新至 v1.25.11 (#7788)
  • 路径规范化影响 /api 端点的 kubectl 代理一致性测试 (#7818)

发布 v1.25.10+k3s1

此版本将 Kubernetes 更新至 v1.25.10,并修复了一些问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.9+k3s1 以来发生的变化:

  • 确保 klog 详细程度与 logrus 的级别相同 (#7361)
  • 在 Drone 中添加 E2E 测试 (#7375)
  • 为 etc-snapshot 服务器标志添加集成测试 #7377 (#7378)
  • CLI + 配置增强 (#7404)
    • --Tls-sans 现在接受多个参数:--tls-sans="foo,bar"
    • Prefer-bundled-bin: true 现在在 config.yaml.d 文件中设置时可以正常工作
  • 将 netutil 方法迁移到 /utils/net.go (#7433)
  • 升级 Runc + Containerd + Docker 以修复 CVE (#7452)
  • 将 kube-router 版本升级到最新版本,以修复使用端口名称时出现的错误 (#7461)
  • Kube 标志和 Longhorn 存储测试 1.25 (#7466)
  • 本地存储:修复权限问题 (#7473)
  • 回滚版本升级和错误修复 (#7515)
    • 当从 etcd 收到“太多学习者”错误时,K3s 现在会重试集群加入操作。这在尝试同时添加多个服务器时最常发生。
    • K3s 再次支持页面大小大于 4k 的 aarch64 节点
    • 打包的 Traefik 版本已升级到 v2.9.10 / chart 21.2.0
    • 当尝试从挂载了 `noexec` 的文件系统运行时,K3s 现在会打印更具意义的错误。
    • 当服务器令牌使用引导令牌 `id.secret` 格式时,K3s 现在会退出并显示适当的错误消息。
    • 修复了 Addon、HelmChart 和 HelmChartConfig CRD 在创建时没有结构化模式的问题,这使得可以使用无效内容创建这些类型的自定义资源。
    • 使用(实验性)`--disable-agent` 标志启动的服务器不再尝试运行隧道授权代理组件。
    • 修复了阻止 pod 和集群出口选择器模式正常工作的回归。
    • K3s 现在将 `etcd-args` 正确传递给用于提取集群引导数据的临时 etcd,该数据在重新启动托管 etcd 节点时使用。
    • 当新的服务器加入托管 etcd 集群时,K3s 现在可以正确处理获取当前 etcd 集群成员列表时发生的错误。
    • 嵌入式 kine 版本已升级到 v0.10.1。这将传统的 `lib/pq` postgres 驱动程序替换为 `pgx`。
    • 捆绑的 CNI 插件已升级到 v1.2.0-k3s1。带宽和防火墙插件现在已包含在捆绑包中。
    • 嵌入式 Helm 控制器现在支持通过存储在 Secret 中的凭据对图表存储库进行身份验证,以及通过 ConfigMap 传递存储库 CA。
  • 将 containerd/runc 升级到 v1.7.1-k3s1/v1.1.7 (#7535)
    • 捆绑的 containerd 和 runc 版本已升级到 v1.7.1-k3s1/v1.1.7
  • 包装表明错误来自网络策略的错误信息 (#7548)
  • 向应用于非活动单元添加 `-all` 标志 (#7574)
  • 更新到 v1.25.10-k3s1 (#7582)

发布 v1.25.9+k3s1

此版本将 Kubernetes 更新到 v1.25.9,并修复了多个问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.8+k3s1 以来的更改:

  • 增强 `check-config` (#7164)
  • 删除已弃用的节点选择器标签 beta.kubernetes.io/os (#6970) (#7121)
  • 回滚版本升级和错误修复 (#7228)
    • 捆绑的本地路径供应程序版本已升级到 v0.0.24
    • 捆绑的 runc 版本已升级到 v1.1.5
    • 捆绑的 coredns 版本已升级到 v1.10.1
    • 当使用外部数据存储时,K3s 现在会在创建初始集群引导数据时锁定引导密钥,从而在多个服务器尝试同时初始化集群时防止出现竞争条件。
    • 维护与活动服务器节点连接的客户端负载均衡器现在会在服务器从集群中删除时关闭与服务器的连接。这确保代理组件会立即重新连接到当前集群成员。
    • 修复了集群重置期间可能导致操作挂起并超时的竞争条件。
  • 更新了 kube-router,将默认 ACCEPT 规则移动到链的末尾 (#7221)
    • 嵌入式 kube-router 控制器已更新,以修复一个回归,该回归会导致主机上存在的任何默认丢弃/拒绝规则阻止来自 pod 的流量。用户应仍然确认任何外部管理的防火墙规则显式允许进出 pod 和服务网络的流量,但这会恢复某些用户所依赖的旧行为。
  • 更新 Klipper LB 和 Helm 控制器 (#7240)
  • 更新 Kube-router ACCEPT 规则插入和安装脚本以在启动前清理规则 (#7276)
    • 嵌入式 kube-router 控制器已更新,以修复一个回归,该回归会导致主机上存在的任何默认丢弃/拒绝规则阻止来自 pod 的流量。用户应仍然确认任何外部管理的防火墙规则显式允许进出 pod 和服务网络的流量,但这会恢复某些用户所依赖的旧行为。
  • 更新到 v1.25.9-k3s1 (#7283)

发布 v1.25.8+k3s1

此版本将 Kubernetes 更新到 v1.25.8,并修复了多个问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.7+k3s1 以来的更改:

  • 更新 Flannel 和 kube-router (#7061)
  • 升级各种依赖项以修复 CVE (#7043)
  • 启用 Dependabot (#7045)
  • 等待 kubelet 端口准备就绪,然后再设置 (#7064)
    • 代理隧道授权程序现在会在读取节点对象中的 kubelet 端口之前等待 kubelet 准备就绪。
  • 添加有关编辑 containerd config.toml 文件的警告 (#7075)
  • 改进对旋转默认自签名证书的支持 (#7079)
    • 现在,`k3s certificate rotate-ca` 检查支持在没有 `--force` 选项的情况下旋转自签名证书。
  • 更新到 v1.25.8-k3s1 (#7106)
  • 更新 Flannel 以修复使用旧版 iptables 版本时的 NAT 问题 (#7138)

发布 v1.25.7+k3s1

此版本将 Kubernetes 更新到 v1.25.7,并修复了多个问题。

有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明

自 v1.25.6+k3s1 以来的更改:

  • 向计划的快照添加抖动,并在发生冲突时更努力地重试 (#6782)
    • 计划的 etcd 快照现在会延迟几秒钟的随机时间。这应该可以防止多服务器集群在尝试同时更新快照列表 ConfigMap 时执行病态行为。快照控制器也会更加持久地尝试更新快照列表。
  • 升级 cri-dockerd (#6798)
    • 嵌入式 cri-dockerd 已更新到 v0.3.1
  • 错误修复:启用 pprof 时不要破坏 cert-manager (#6837)
  • 等待 cri-dockerd 套接字 (#6853)
  • 将 Vagrant 盒子升级到 Fedora 37 (#6858)
  • 修复 cronjob 示例 (#6864)
  • 确保标志类型一致性 (#6867)
  • 合并 E2E 测试 (#6887)
  • 在重新加密机密时忽略值冲突 (#6919)
  • 在将 Kubernetes 服务地址添加到 SAN 列表时使用默认地址族 (#6904)
    • 现在,在使用 IPv6 作为默认 IP 族群的集群中,apiserver 公告地址和 IP SAN 条目已正确设置。
  • 允许 ServiceLB 遵守 `ExternalTrafficPolicy=Local` (#6907)
    • ServiceLB 现在会遵守服务的 ExternalTrafficPolicy。当设置为 Local 时,负载均衡器将仅公布具有该服务 pod 的节点的地址,并且不会将流量转发到其他集群成员。
  • 修复了当验证 webhooks 阻止创建时导致 servicelb 启动失败的问题 (#6916)
    • 嵌入式云控制器管理器将不再尝试在启动时无条件地重新创建其命名空间和服务帐户。这解决了当使用故障封闭 webhooks 时可能导致集群死锁的问题。
  • 回滚用户提供的 CA 证书和 `kubeadm` 引导令牌支持 (#6929)
    • 当集群 CA 证书由现有的根或中间 CA 签名时,K3s 现在可以正常运行。您可以在 github 存储库中找到在 K3s 启动之前生成此类证书的示例脚本,地址为 contrib/util/certs.sh
    • K3s 现在支持 `kubeadm` 风格的加入令牌。`k3s token create` 现在会创建加入令牌机密,可选地设置有限的 TTL。
    • 使用已过期或已删除令牌加入的 K3s 代理会通过节点授权准入插件使用现有的客户端证书留在集群中,除非它们的节点对象从集群中删除。
  • 修复在 `egress-selector-mode=agent` 时访问 NodeIP 上的 hostNetwork 端口的问题 (#6936)
    • 修复了可能导致 apiserver 出口代理尝试使用代理隧道连接到服务端点,即使在代理或禁用模式下也是如此的问题。
  • 将 Flannel 版本更新到 v0.21.1 (#6915)
  • 允许使用多组 leader 选举的控制器 (#6941)
    • 修复了托管 etcd 的 leader 选举的控制器无法在仅 etcd 节点上运行的问题
  • 修复 etcd 和 ca-cert 旋转问题 (#6954)
  • 修复 ServiceLB 双栈入口 IP 列表 (#6987)
    • 解决了 ServiceLB 的一个问题,该问题会导致 ServiceLB 广告节点 IPv6 地址,即使集群或服务未启用双栈操作。
  • 将 kine 升级至 v0.9.9 (#6975)
    • 嵌入式 kine 版本已升级至 v0.9.9。现在在 info 级别省略了压缩日志消息,以提高可见性。
  • 更新至 v1.25.7-k3s1 (#7010)

发布 v1.25.6+k3s1

此版本将 Kubernetes 更新至 v1.25.6,并修复了一些问题。

有关新功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.5+k3s2 以来的更改:

  • 传递默认 tls-cipher-suites (#6730)
    • K3s 默认密码套件现在明确传递给 kube-apiserver,确保所有监听器都使用这些值。
  • 将 containerd 升级至 v1.6.15-k3s1 (#6735)
    • 嵌入式 containerd 版本已升级至 v1.6.15-k3s1。
  • 将 action/download-artifact 升级至 v3 (#6747)
  • 反向移植 dependabot/updatecli 更新 (#6761)
  • 修复 Drone 插件/docker 标签以用于 32 位 arm (#6768)
  • 更新至 v1.25.6+k3s1 (#6775)

发布 v1.25.5+k3s2

此版本将 containerd 更新至 v1.6.14,以解决一个问题,该问题会导致在 containerd 重启时,Pod 丢失其 CNI 信息。

自 v1.25.5+k3s1 以来的更改:

  • 将 containerd 升级至 v1.6.14-k3s1 (#6694)
    • 嵌入式 containerd 版本已升级至 v1.6.14-k3s1。这包括对 containerd/7843 的反向移植修复,该问题会导致在 containerd 重启时,Pod 丢失其 CNI 信息,进而导致 kubelet 重新创建 Pod。

发布 v1.25.5+k3s1

⚠️ 警告

此版本受 https://github.com/containerd/containerd/issues/7843 影响,该问题会导致在每次重启 K3s 时,kubelet 重新启动所有 Pod。因此,我们已从通道服务器中删除此 K3s 版本。请改用 v1.25.5+k3s2

此版本将 Kubernetes 更新至 v1.25.5,并修复了一些问题。

重大变更:K3s 不再包含 swanctlcharon 二进制文件。如果您使用的是 ipsec flannel 后端,请确保在将 K3s 升级到此版本之前,在您的节点上安装 strongswan swanctlcharon 包。

有关新功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.4+k3s1 以来的更改:

  • 修复 flannelExternalIP 用例的日志 (#6531)
  • 修复 Caroline 的 github id (#6464)
  • Github CI 更新 (#6522)
  • 添加新的 prefer-bundled-bin 实验性标志 (#6420)
    • 添加了新的 prefer-bundled-bin 标志,该标志强制 K3s 使用其捆绑的二进制文件,而不是主机工具。
  • 将 containerd 升级至 v1.6.10 (#6512)
    • 嵌入式 containerd 版本已更新至 v1.6.10-k3s1。
  • 通过 k3s-charts 暂存 Traefik 图表 (#6519)
  • 使无根设置可配置 (#6498)
    • 无根 port-drivercidrmtuenable-ipv6disable-host-loopback 设置现在可以通过环境变量进行配置。
  • 删除属于 windows 执行器实现的内容 (#6517)
  • 将 v1.25.4+k3s1 标记为稳定版 (#6534)
  • 添加 prefer-bundled-bin 作为代理标志 (#6545)
  • 升级 klipper-helm 和 klipper-lb 版本 (#6549)
    • 嵌入式负载均衡器控制器映像已升级至 klipper-lb:v0.4.0,其中包括对 LoadBalancerSourceRanges 字段的支持。
    • 嵌入式 Helm 控制器映像已升级至 klipper-helm:v0.7.4-build20221121
  • 从 Google 存储桶切换至 AWS S3 存储桶 (#6497)
  • 修复通过 Dapper 传递 AWS 凭据的问题 (#6567)
  • 修复使用 aws s3 cp 上传工件的问题 (#6568)
  • 禁用旧版 CCM 功能时禁用 CCM 指标端口 (#6572)
    • 当设置 --disable-cloud-controller 标志时,嵌入式 cloud-controller-manager 上端口 10258 的指标监听器现在已禁用。
  • 同步打包组件部署配置 (#6552)
    • K3s 打包组件的部署现在具有一致的升级策略和 revisionHistoryLimit 设置,并且不会通过硬编码副本数来覆盖扩展决策。
    • 打包的指标服务器已升级至 v0.6.2。
  • 将 secrets-encryption 标志标记为 GA (#6582)
  • 将 k3s 根升级至 v0.12.0 并删除 strongswan 二进制文件 (#6400)
    • 嵌入式 k3s-root 版本已升级至 v0.12.0,基于 buildroot 2022.08.1。
    • 嵌入式 swanctl 和 charon 二进制文件已被删除。如果您使用的是 ipsec flannel 后端,请确保在升级 k3s 之前,在您的节点上安装 strongswan swanctlcharon 包。
  • 将 flannel 更新至 v0.20.2 (#6588)
  • 添加用于安全提升自动化的 ADR (#6559)
  • 更新基于 node12->node16 的 GH 操作 (#6593)
  • 更新 rel 文档 (#6237)
  • 将 install.sh 更新为推荐当前版本的 k3s-selinux (#6453)
  • 更新至 v1.25.5-k3s1 (#6622)
  • 将 containerd 升级至 v1.6.12-k3s1 (#6631)
    • 嵌入式 containerd 版本已升级至 v1.6.12。
  • 预加载 iptable_filter/ip6table_filter (#6646)

发布 v1.25.4+k3s1

此版本将 Kubernetes 更新至 v1.25.4,并修复了一些问题。

有关新功能的更多详细信息,请参阅 Kubernetes 发行说明

自 v1.25.3+k3s1 以来的更改:

  • 在 netplan 中添加网关参数 (#6292)
  • 将 dynamiclistener 库升级至 v0.3.5 (#6300)
  • 将 kube-router 更新至 v1.5.1,并添加额外的日志记录 (#6345)
  • 更新维护者 (#6298)
  • 将测试升级至 opensuse Leap 15.4 (#6337)
  • 更新 E2E 文档,其中包含有关 ubuntu 22.04 的更多信息 (#6316)
  • 针对 podSelector 和 ingress 的网络策略测试 (#6247)
  • 将所有 alpine 映像升级至 3.16 (#6334)
  • 将 kine 升级至 v0.9.6 / sqlite3 v3.39.2 (CVE-2022-35737) (#6317)
  • 添加强化集群和升级测试 (#6320)
  • 捆绑的 Traefik helm 图表已更新至 v18.0.0 (#6353)
  • 将 v1.25.3+k3s1 标记为稳定版 (#6338)
  • 嵌入式 helm 控制器已升级至 v0.13.0 (#6294)
  • 修复了一个问题,该问题会导致部署控制器无法处理包含不再受 apiserver 支持的资源类型的清单。 (#6295)
  • 用 fedora 36 替换 fedora-coreos 以进行安装测试 (#6315)
  • 将 containerd config.toml.tmpl Linux 模板转换为 v2 语法 (#6267)
  • 添加针对 node-external-ip 配置参数的测试 (#6359)
  • 如果设置了 DEBUG,则使用调试友好的编译设置 (#6147)
  • 更新 e2e 测试 (#6354)
  • 删除未使用的 vagrant 开发脚本 (#6395)
  • 捆绑的 Traefik 已更新至 v2.9.4 / helm 图表 v18.3.0 (#6397)
  • (#6371)
  • 修复不正确的延迟使用情况 (#6296)
  • 添加快照恢复端到端测试 (#6396)
  • 修复 v1.25 上的 sonobouy 测试 (#6399)
  • 更新打包组件版本
  • 打包的 traefik helm 图表已更新至 v19.0.0,默认启用 ingressClass 支持。
  • 打包的 local-path-provisioner 已更新至 v0.0.23
  • 打包的 coredns 已更新至 v1.9.4 (#6408)
  • 启动 netpol 控制器时记录 kube-router 版本 (#6405)
  • 将 Kairos 添加到 ADOPTERS (#6417)
  • 将 Flannel 更新至 0.20.1 (#6388)
  • 避免 flannel-external-ip 的错误配置,并在使用未加密后端时添加警告 (#6403)
  • 修复 test-mods 以允许从 k8s.io 固定版本 (#6413)
  • 修复多云集群环境中的 metrics-server (#6386)
  • 当服务器节点之间的关键配置不同时,K3s 现在会专门指出哪些集群级配置标志不同步。 (#6409)
  • 将测试输出转换为 JSON 格式 (#6410)
  • 直接从 GH 拉取 traefik helm 图表 (#6468)
  • 夜间测试修复 (#6475)
  • 更新至 v1.25.4 (#6477)
  • 删除属于 Windows 执行程序实现的部分 (#6492)
  • 打包的 traefik helm 图表已更新至 19.0.4 (#6494)
  • 再次移动 traefik 图表仓库 (#6508)

发布 v1.25.3+k3s1

此版本将 Kubernetes 更新至 v1.25.3,并修复了一些问题。

有关新功能的更多详细信息,请参阅 Kubernetes 版本说明

自 v1.25.2+k3s1 以来的更改:

  • E2E:PR 运行的基础工作 (#6131)
  • 修复不属于同一网络且使用公共 IP 连接的节点部署的 flannel (#6180)
  • 将 v1.24.6+k3s1 标记为稳定 (#6193)
  • 添加集群重置测试 (#6161)
  • 嵌入式 metrics-server 版本已更新至 v0.6.1 (#6151)
  • ServiceLB (klipper-lb) 服务控制器现在已集成到 K3s 虚拟云控制器管理器中。 (#6181)
  • 嵌入式控制器记录到集群的事件现在在服务日志中格式正确。 (#6203)
  • 修复 apiserver 网络代理中的 error dialing backend 错误 (#6216)
    • 修复了 apiserver 网络代理中的一个问题,该问题导致 kubectl exec 偶尔会因 error dialing backend: EOF 而失败
    • 修复了 apiserver 网络代理中的一个问题,该问题导致 kubectl execkubectl logs 在使用自定义 kubelet 端口时失败,而自定义端口被防火墙或安全组规则阻止。
  • 修复测试中的拼写错误 (#6183)
  • 使用 setup-go action 缓存依赖项 (#6220)
  • 将 journalctl 日志添加到 E2E 测试中 (#6224)
  • 嵌入式 Traefik 版本已更新至 v2.9.1 / 图表 12.0.0 (#6223)
  • 修复易变的 etcd 测试 (#6232)
  • 替换已弃用的 ioutil 包 (#6230)
  • 修复 dualStack 测试 (#6245)
  • 为 svclb pod 添加 ServiceAccount (#6253)
  • 更新至 v1.25.3-k3s1 (#6269)
  • 以 URI 格式返回 ProviderID (#6284)
  • 更正 CCM RBAC 以允许在升级期间删除旧版服务终结器。 (#6306)
  • 添加了一个新的 --flannel-external-ip 标志。 (#6321)
    • 启用后,Flannel 流量现在将使用节点的外部 IP,而不是内部 IP。
    • 这适用于并非都在同一个本地网络上的分布式集群。

发布 v1.25.2+k3s1

此版本将 Kubernetes 更新至 v1.25.2,并修复了一些问题。

有关新功能的更多详细信息,请参阅 Kubernetes 版本说明

自 v1.25.0+k3s1 以来的更改:

  • 将 k3s v1.25 添加到发布通道 (#6129)
  • 恢复原始的 INSTALL_K3S_SKIP_DOWNLOAD 行为 (#6130)
  • 添加 K3S 版本文档 (#6135)
  • 更新至 v1.25.1 (#6140)
  • 更新至 v1.25.2-k3s1 (#6168)

发布 v1.25.0+k3s1

此版本是 K3S 在 v1.25 系列中的第一个版本。此版本将 Kubernetes 更新至 v1.25.0。

在从早期版本升级之前,请务必阅读 Kubernetes 紧急升级说明

重要说明:Kubernetes v1.25 删除了 beta PodSecurityPolicy 准入插件。在升级到 v1.25.0+k3s1 之前,请遵循 上游文档 从 PSP 迁移(如果使用内置 PodSecurity 准入插件)。

自 v1.24.4+k3s1 以来的更改:

  • 将 Kubernetes 更新至 v1.25.0 (#6040)
  • 从 Windows kubelet 参数中删除 --containerd 标志 (#6028)
  • E2E:添加对 CentOS 7 和 Rocky 8 的支持 (#6015)
  • 将安装测试转换为运行 k3s 的 PR 构建 (#6003)
  • CI:更新 Fedora 34 -> 35 (#5996)
  • 修复 dualStack 测试并更改 ipv6 网络前缀 (#6023)
  • 修复 e2e 测试 (#6018)
  • 更新 README.md (#6048)
  • 删除集群时删除 wireguard 接口 (#6055)
  • 添加验证检查以确认 Kubernetes 的正确 golang 版本 (#6050)
  • 扩展启动集成测试 (#6030)
  • 将 go.mod 版本更新至 1.19 (#6049)
  • 不再支持使用 --cluster-secret--no-deploy--no-flannel。尝试使用这些标志会导致致命错误。请参阅 文档 以了解其替代方法。 (#6069)
  • 更新 Flannel 版本以解决旧版 iptables 版本问题。 (#6090)
  • 捆绑的 runc 版本已更新至 v1.1.4 (#6071)
  • 嵌入式 containerd 版本已更新至 v1.6.8-k3s1 (#6078)
  • 修复弃用消息 (#6112)
  • 添加了有关 flannel 后端附加选项弃用的警告消息 (#6111)