跳至主要内容

v1.27.X

升级通知

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

版本发布日期KubernetesKineSQLiteEtcdContainerdRuncFlannelMetrics-serverTraefikCoreDNSHelm-controllerLocal-path-provisioner
v1.27.16+k3s12024 年 7 月 31 日v1.27.16v0.11.113.44.0v3.5.13-k3s1v1.7.17-k3s2.27v1.1.12v0.25.4v0.7.0v2.10.7v1.10.1v0.15.10v0.0.28
v1.27.15+k3s22024 年 7 月 3 日v1.27.15v0.11.93.44.0v3.5.13-k3s1v1.7.17-k3s2.27v1.1.12v0.25.4v0.7.0v2.10.7v1.10.1v0.15.10v0.0.27
v1.27.15+k3s12024 年 6 月 25 日v1.27.15v0.11.93.44.0v3.5.13-k3s1v1.7.17-k3s2.27v1.1.12v0.25.2v0.7.0v2.10.7v1.10.1v0.15.10v0.0.27
v1.27.14+k3s12024 年 5 月 22 日v1.27.14v0.11.73.44.0v3.5.9-k3s1v1.7.15-k3s1.27v1.1.12-k3s1v0.24.2v0.7.0v2.10.7v1.10.1v0.15.9v0.0.26
v1.27.13+k3s12024 年 4 月 25 日v1.27.13v0.11.73.44.0v3.5.9-k3s1v1.7.15-k3s1.27v1.1.12v0.24.2v0.7.0v2.10.7v1.10.1v0.15.9v0.0.26
v1.27.12+k3s12024 年 3 月 25 日v1.27.12v0.11.43.44.0v3.5.9-k3s1v1.7.11-k3s2.27v1.1.12-k3s1v0.24.2v0.7.0v2.10.5v1.10.1v0.15.9v0.0.26
v1.27.11+k3s12024 年 2 月 29 日v1.27.11v0.11.43.44.0v3.5.9-k3s1v1.7.11-k3s2.27v1.1.12-k3s1v0.24.2v0.6.3v2.10.5v1.10.1v0.15.8v0.0.26
v1.27.10+k3s22024 年 2 月 6 日v1.27.10v0.11.03.42.0v3.5.9-k3s1v1.7.11-k3s2.27v1.1.12-k3s1v0.22.2v0.6.3v2.10.5v1.10.1v0.15.8v0.0.24
v1.27.9+k3s12023 年 12 月 27 日v1.27.9v0.11.03.42.0v3.5.9-k3s1v1.7.11-k3s2.27v1.1.10v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.27.8+k3s22023 年 12 月 7 日v1.27.8v0.11.03.42.0v3.5.9-k3s1v1.7.7-k3s1.27v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.27.7+k3s22023 年 11 月 8 日v1.27.7v0.10.33.42.0v3.5.9-k3s1v1.7.7-k3s1.27v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.27.7+k3s12023 年 10 月 30 日v1.27.7v0.10.33.42.0v3.5.9-k3s1v1.7.7-k3s1.27v1.1.8v0.22.2v0.6.3v2.10.5v1.10.1v0.15.4v0.0.24
v1.27.6+k3s12023 年 9 月 20 日v1.27.6v0.10.33.42.0v3.5.9-k3s1v1.7.6-k3s1.27v1.1.8v0.22.2v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.27.5+k3s12023 年 9 月 5 日v1.27.5v0.10.23.42.0v3.5.9-k3s1v1.7.3-k3s1v1.1.8v0.22.2v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.27.4+k3s12023 年 7 月 27 日v1.27.4v0.10.13.39.2v3.5.7-k3s1v1.7.1-k3s1v1.1.7v0.22.0v0.6.3v2.9.10v1.10.1v0.15.2v0.0.24
v1.27.3+k3s12023 年 6 月 26 日v1.27.3v0.10.13.39.2v3.5.7-k3s1v1.7.1-k3s1v1.1.7v0.22.0v0.6.3v2.9.10v1.10.1v0.15.0v0.0.24
v1.27.2+k3s12023 年 5 月 26 日v1.27.2v0.10.13.39.2v3.5.7-k3s1v1.7.1-k3s1v1.1.7v0.21.4v0.6.2v2.9.10v1.10.1v0.14.0v0.0.24
v1.27.1+k3s12023 年 4 月 27 日v1.27.1v0.9.93.39.2v3.5.7-k3s1v1.6.19-k3s1v1.1.5v0.21.4v0.6.2v2.9.4v1.10.1v0.13.3v0.0.24

发布 v1.27.16+k3s1

此版本将 Kubernetes 更新至 v1.27.16,并修复了若干问题。

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

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

  • 2024-07 发布周期的回溯版本 (#10500)
    • 将 k3s-root 升级到 v0.14.0
    • 将 github.com/hashicorp/go-retryablehttp 从 0.7.4 升级到 0.7.7
    • 升级本地路径供应器版本
    • 确保 remotedialer kubelet 连接使用 kubelet 绑定地址
    • 日常工作:升级 Trivy 版本
    • 添加 etcd s3 配置密钥实现
  • 7 月测试回溯版本 (#10510)
  • 更新至 v1.27.16-k3s1 和 Go 1.22.5 (#10542)
  • 修复从环境变量加载 data-dir 值或删除配置文件时出现的问题 (#10599)

发布 v1.27.15+k3s2

此版本将 Kubernetes 更新至 v1.27.15,并修复了若干问题。

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

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

  • 将 flannel 更新至 v0.25.4,并修复了 IPv6 掩码问题 (#10429)

发布 v1.27.15+k3s1

此版本将 Kubernetes 更新至 v1.27.15,并修复了若干问题。

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

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

  • 替换已弃用的 ruby 函数 (#10089)
  • 修复使用 tailscale 通过文件进行配置时的错误 (#10143)
  • 将 flannel 版本升级到 v0.25.2 (#10222)
  • 将 kube-router 版本更新至 v2.1.2 (#10183)
  • 改进 tailscale 测试,并在 e2e 测试中添加额外的日志 (#10214)
  • 2024-06 发布周期的回溯版本 (#10259)
    • 添加 WithSkipMissing 以避免在缺少 blob 时出现导入失败
    • 为 cri-dockerd 使用固定的流服务器绑定地址
    • 将 stargz 切换到 cri 注册表 config_path
    • 升级到 containerd v1.7.17、etcd v3.5.13
    • 升级 spegel 版本
    • 修复在双栈节点上为单栈服务使用 externalTrafficPolicy: Local 时的错误
    • ServiceLB 现在默认将 svclb pod 上的 priorityClassName 设置为 system-node-critical。这可以通过 svccontroller.k3s.cattle.io/priorityclassname 注解在每个服务的基础上进行覆盖。
    • 将 minio-go 升级到 v7.0.70
    • 将 kine 升级到 v0.11.9 以修复分页问题
    • 更新有效的 resolv 配置
    • 添加缺少的内核配置检查
    • 在扫描自动部署清单(AddOns)时,现在会尊重符号链接的子目录
    • 修复错误:允许 helm 控制器设置所有者引用
    • 升级 klipper-helm 映像以支持 tls 密钥
    • 修复 k3s-etcd informers 未启动的问题
    • 现在可以在代理上设置 --Enable-pprof 以启用调试/pprof 端点。设置后,代理将在主管端口监听。
    • 现在可以在服务器上设置 --Supervisor-metrics 以启用在主管端点上提供内部指标;设置后,代理将在主管端口监听。
    • 修复网络策略在节点保持被污染状态未初始化时的崩溃
    • 如果所有服务器由于健康检查失败而被标记为不可用,嵌入式负载均衡器现在将回退尝试所有忽略健康检查的服务器。
  • 2024-06 发布周期的更多回溯版本 (#10290)
  • 添加快照保留 etcd-s3-folder 修复 (#10314)
  • 添加 isValidResolvConf 测试 (#10302) (#10332)
  • 修复 loadbalancer.nextServer 中的竞争条件 panic (#10324)
  • 修复拼写错误,使用 rancher/permissions (#10297)
  • 将 Kubernetes 更新至 v1.27.15 (#10346)
    • 将 Kubernetes 更新至 v1.27.15
  • 修复代理主管端口使用 apiserver 端口而不是其本身的问题 (#10356)
  • 修复允许同时执行多个快照的问题 (#10378)

发布 v1.27.14+k3s1

此版本将 Kubernetes 更新至 v1.27.14,并修复了若干问题。

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

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

  • 将 E2E opensuse leap 升级到 15.6,修复 btrfs 测试 (#10096)
  • Windows 更改 (#10113)
  • 更新至 v1.27.14-k3s1 和 Go 1.21.9 (#10103)

发布 v1.27.13+k3s1

此版本将 Kubernetes 更新至 v1.27.13,并修复了若干问题。

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

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

  • 当 kine 处于禁用 apiserver 或禁用 etcd 状态时,添加一个新的错误 (#9803)
  • 删除旧的固定依赖项 (#9828)
  • 从弃用的指针库迁移到 ptr (#9825)
  • Golang 缓存和 E2E ubuntu 23.10 (#9822)
  • 为 kine 添加 tls (#9850)
  • 将 spegel 升级到 v0.0.20-k3s1 (#9881)
  • 2024-04 发布周期的反向移植 (#9912)
    • 如果无法检索成员列表,则发送错误响应
    • k3s 桩云提供程序现在会尊重 kubelet 请求的 provider-id、实例类型和拓扑标签
    • 修复图像已拉取时的错误
    • 将 /etc/passwd 和 /etc/group 添加到 k3s docker 镜像
    • 修复无代理服务器的 etcd 快照协调
    • 为负载均衡器添加健康检查支持
    • 添加证书到期检查、事件和指标
    • 添加解决方法以解决 containerd hosts.toml 在传递默认注册表端点配置时的错误
    • 将 supervisor cert/key 添加到旋转列表
    • 嵌入式 containerd 已升级到 v1.7.15
    • 嵌入式 cri-dockerd 已升级到 v0.3.12
    • k3s etcd-snapshot 命令已重新设计,以提高一致性。现在所有快照操作均由服务器进程执行,CLI 充当客户端以启动操作并报告结果。作为副作用,CLI 在管理快照时现在噪音更小。
    • 改进 etcd 负载均衡器启动行为
    • 真正修复代理证书旋转
    • Traefik 已升级到 v2.10.7。
    • Traefik pod 注释现在在默认图表值中正确设置。
    • system-default-registry 值现在支持 RFC2732 IPv6 字面量。
    • 本地路径供应器现在默认创建 local 卷,而不是 hostPath
  • 允许 LPP 读取辅助日志 (#9939)
  • 将 kube-router 更新到 v2.1.0 (#9943)
  • 更新到 v1.27.13-k3s1 和 Go 1.21.9 (#9958)
  • 修复按需快照超时;不遵守文件夹 (#9995)
  • 使 /db/info 可从 localhost 匿名访问 (#10003)

发布 v1.27.12+k3s1

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

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

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

  • 为 flannel-backend=none 添加一个集成测试 (#9609)
  • 安装和单元测试反向移植 (#9642)
  • 更新 klipper-lb 镜像版本 (#9606)
  • 根据配置的 clusterCIDR 调整第一个 node-ip (#9632)
  • 改进 tailscale e2e 测试 (#9654)
  • 2024-03 发布周期的反向移植 (#9670)
    • 修复:使用正确的 wasm shims 名称
    • 嵌入式 flannel cni-plugin 二进制文件现在独立于其他 cni 插件以及嵌入式 flannel 控制器进行构建和版本控制。
    • 将 spegel 升级到 v0.0.18-k3s3
    • 添加通配符注册表支持
    • 修复等待 containerd 启动时 CPU 利用率过高的問題
    • 添加环境变量以允许 spegel 镜像最新标签
    • 调整 netpol 节点等待日志
    • 修复双栈群集上的 coredns NodeHosts
    • 升级 helm-controller/klipper-helm 版本
    • 修复快照修剪
    • 修复 etcd 节点名称缺少主机名的問題
    • 无根模式还应将服务 nodePort 绑定到主机以供 LoadBalancer 类型使用,这与有根模式的 UX 相匹配。
    • 若要为 check-config 子命令启用原始输出,您现在可以设置 NO_COLOR=1
    • 修复注册表处理中的其他极端情况
    • 将 metrics-server 升级到 v0.7.0
    • K3s 现在将警告并抑制注册表镜像端点列表中的重复条目。Containerd 不支持为单个上游注册表列出同一个端点多次作为镜像。
  • Docker 和 E2E 测试反向移植 (#9708)
  • 修复通配符条目上游回退 (#9734)
  • 更新到 v1.27.12-k3s1 和 Go 1.21.8 (#9745)

发布 v1.27.11+k3s1

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

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

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

  • 任务:升级本地路径供应器版本 (#9427)
  • 将 cri-dockerd 升级到修复与 Docker Engine 25 的兼容性 (#9291)
  • 自动依赖项升级 (#9420)
  • 使用 exec.LookPath 重构运行时 (#9430)
    • 包含运行时的目录需要包含在 $PATH 环境变量中,以便有效地检测运行时。
  • 更改了 etcd 条件中 lastHeartBeatTime 的工作方式 (#9425)
  • 允许执行程序定义 containerd 和 docker 行为 (#9253)
  • 将 Kube-router 更新到 v2.0.1 (#9405)
  • 2024-02 发布周期的反向移植 (#9463)
  • 升级 flannel 版本 + 删除 multiclustercidr (#9407)
  • 启用更长的 http 超时请求 (#9445)
  • Test_UnitApplyContainerdQoSClassConfigFileIfPresent (#9441)
  • 支持 PR 测试安装 (#9470)
  • 将 Kubernetes 更新到 v1.27.11 (#9491)
  • 修复 arm 的 drone 发布 (#9509)
  • 删除失败的 Drone 步骤 (#9515)
  • 恢复代理启动函数的原始顺序 (#9546)
  • 修复禁用 flannel 时的 netpol 启动 (#9579)

发布 v1.27.10+k3s2

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

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

重要说明

通过将 runc 更新到 v1.1.12 来解决 runc CVE:CVE-2024-21626

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

  • 在更新 secrets-encrypt 节点注释周围添加重试 (#9124)
  • 为代理负载均衡器添加对 env *_PROXY 变量的支持 (#9117)
  • 在节点启动 netpol 控制器之前等待污点消失 (#9176)
  • etcd 条件 (#9182)
  • 2024-01 的反向移植 (#9211)
  • 将代理拨号器移出 init() 并修复崩溃 (#9220)
  • 为缺少的依赖项链固定 opa 版本 (#9217)
  • etcd 节点为 nil (#9229)
  • 更新到 v1.27.10 和 Go 1.20.13 (#9261)
  • 对双栈 kube-dns 使用 ipFamilyPolicy: RequireDualStack (#9270)
  • 2024-01 k3s2 的反向移植 (#9337)
    • 将 runc 升级到 v1.1.12,将 helm-controller 升级到 v0.15.7
    • 修复在 registries.yaml 中处理裸主机名或 IP 作为端点地址的问题
  • 升级 helm-controller 以修复与 ChartContent 的问题 (#9347)

发布 v1.27.9+k3s1

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

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

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

  • 将 containerd/runc 升级到 v1.7.10-k3s1/v1.1.10 (#8963)
  • 修复重叠地址范围 (#9018)
  • 运行时反向移植 (#9013)
    • 添加了 wasm/nvidia/crun 的运行时类
    • 添加了 containerd 的默认运行时标志
  • 将 containerd 升级到 v1.7.11 (#9041)
  • 更新到 v1.27.9-k3s1 (#9078)

发布 v1.27.8+k3s2

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

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

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

  • Etcd 状态条件 (#8821)
  • 添加关于移除 multiclustercidr 标志的警告 (#8759)
  • 2023-11 版本的回退 (#8878)
    • Docker 镜像中的新时区信息允许在 CronJobs 中使用 spec.timeZone
    • 将 kine 升级到 v0.11.0 以解决与 postgres 和 NATS 相关的问题,修复高负载下 watch 通道的性能问题,并提高与参考实现的兼容性。
    • 现在可以通过定义 rdt_config.yamlblockio_config.yaml 文件来配置 Containerd 使用 rdt 或 blockio 配置。
    • 添加代理标志 disable-apiserver-lb,代理将不会启动负载均衡代理。
    • 改进 ServiceLB 的 ingress IP 排序。
    • 为 disable-helm-controller 禁用 helm CRD 安装。
    • 省略没有额外元数据的快照的快照列表配置映射条目。
    • 在客户端配置重试中添加抖动以避免在服务器启动时对服务器进行猛烈攻击。
  • 在 etcd 中处理运行时核心未就绪时的空指针 (#8887)
  • 改进双栈日志 (#8828)
  • 升级 dynamiclistener;减少快照控制器日志输出 (#8902)
    • 升级 dynamiclistener 以解决可能导致服务器无法将证书同步到 Kubernetes 密钥的竞争条件。
    • 减少群集初始启动期间的 etcd 快照日志垃圾。
  • 删除 e2e 步骤的 depends_on;修复证书轮换 e2e (#8907)
  • 修复 etcd 快照 S3 问题 (#8937)
    • 如果 S3 客户端初始化失败,则不要应用 S3 保留策略。
    • 列出 S3 快照时不要请求元数据。
    • 在快照元数据日志消息中打印密钥而不是文件路径。
  • 更新到 v1.27.8 和 Go 到 1.20.11 (#8921)
  • 删除 s390x (#8999)

发布 v1.27.7+k3s2

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

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

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

  • 修复 templates_linux.go 中的 SystemdCgroup (#8765)
    • 修复了识别额外容器运行时的错误。
  • 将 traefik 图表更新到 v25.0.0 (#8775)
  • 更新 traefik 以修复注册表值 (#8789)

发布 v1.27.7+k3s1

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

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

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

  • 修复错误报告 (#8411)
  • 添加 Flannel 错误的上下文 (#8419)
  • 在错误消息中包含接口名称 (#8435)
  • 更新 kube-router (#8443)
  • 将 extraArgs 添加到 Tailscale (#8464)
  • 在使用 server 标志时添加群集重置时的错误 (#8455)
    • 当使用 --server 标志执行 --cluster-reset 时,用户将收到错误信息。
  • 从非引导节点重置群集 (#8451)
  • 根据顺序优先考虑 IPFamily (#8504)
  • 修复拼写错误 (#8509)
  • 网络默认值重复,删除一个 (#8551)
  • 发布地址集成测试 (#8516)
  • 系统代理推送标签修复 (#8569)
  • 修复 IPv4 节点上 Tailscale 节点 IP 双栈模式 (#8558)
  • 服务器令牌轮换 (#8576)
    • 用户现在可以使用 k3s token rotate -t <OLD_TOKEN> --new-token <NEW_TOKEN> 轮换服务器令牌。命令成功后,所有服务器节点都必须使用新令牌重新启动。
  • E2E 域 Drone 清理 (#8582)
  • 清除群集重置时的删除注释 (#8587)
    • 修复了在群集重置/还原后,如果在快照拍摄时排队删除,k3s 可能会立即尝试从 etcd 群集删除成员的问题。
  • 如果 IPv6 是第一个配置的 IP,则在双栈情况下使用 IPv6 (#8597)
  • 2023-10 版本的回退 (#8615)
  • 更新构建脚本中的 kube-router 包 (#8634)
  • 添加 etcd-only/control-plane-only 服务器测试并修复 control-plane-only 服务器崩溃 (#8642)
  • 在令牌轮换日志中使用 version.Program 而不是 K3s (#8656)
  • Windows 代理支持 (#8650)
  • 修复 CloudDualStackNodeIPs 功能标志不一致 (#8669)
  • 添加 --image-service-endpoint 标志 (#8279) (#8662)
    • 添加 --image-service-endpoint 标志以指定外部镜像服务套接字。
  • 回退 etcd 修复 (#8690)
    • 重新启用 etcd 端点自动同步。
    • 当没有节点同步快照时,手动重新排队配置映射协调。
  • 更新到 v1.27.7 和 Go 到 v1.20.10 (#8681)
  • 修复 s3 快照还原 (#8733)

发布 v1.27.6+k3s1

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

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

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

  • 将 kine 升级到 v0.10.3 (#8324)
  • 更新到 v1.27.6 和 Go 到 1.20.8 (#8356)
    • 将嵌入式 Containerd 升级到 v1.7.6。
    • 将嵌入式 stargz-snapshotter 插件升级到最新版本。
    • 修复由于测试环境设置脚本中的竞争条件导致的间歇性 Drone CI 失败。
    • 修复由于 Kubernetes 1.28 中的 api 发现更改导致的 CI 失败。

发布 v1.27.5+k3s1

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

重要

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

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

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

  • 将 cni 插件版本更新到 v1.3.0 (#8056)
    • 将 cni-plugins 升级到 v1.3.0。
  • 将 Flannel 更新到 v0.22.1 (#8057)
    • 将 Flannel 更新到 v0.22.1。
  • 关于秘密加密 v3 的 ADR (#7938)
  • MustFindString 的单元测试 (#8013)
  • 添加对在 etc/containerd/config.toml.tmpl 中使用基本模板的支持 (#7991)
    • 用户提供的 Containerd 配置模板现在可以使用 {{ template "base" . }} 来包含默认的 K3s 模板内容。如果只需要在文件中添加其他部分,这将使维护用户配置更加容易。
  • 使 apiserver 出站参数取决于 egress-selector-mode (#7972)
    • 当不出站代理不用于将连接路由到集群内端点时,K3s 不会再启用 apiserver 的 enable-aggregator-routing 标志。
  • docker/distribution 的安全性提升到最新版本 (#8047)
  • 修复 CoreOS 的多次安装 (#8083)
  • 将稳定通道更新到 v1.27.4+k3s1 (#8067)
  • 修复 Tailscale 与 IP 模式相关的错误 (#8077)
  • 合并 CopyFile 函数 (#8079)
  • E2E:支持 GOCOVER 以进行更多测试 + 修复 (#8080)
  • 修复 terraform/README.md 中的拼写错误 (#8090)
  • 添加 FilterCN 函数以防止 SAN 填充 (#8085)
    • K3s 的外部 apiserver 监听器现在拒绝向其证书添加任何与 kubernetes apiserver 服务、服务器节点或 --tls-san 选项的值无关的主题名称。这可以防止证书的 SAN 列表被填充不必要的条目。
  • 将 docker/docker 升级到 master 提交;将 cri-dockerd 升级到 0.3.4 (#8092)
    • 将 docker/docker 模块版本升级以解决 cri-dockerd 问题,这些问题是由最近发布的 golang 拒绝 docker 客户端发送的无效主机头造成的。
  • etcd、containerd 和 runc 版本升级 (#8109)
    • 将嵌入式 containerd 更新为 v1.7.3+k3s1
    • 将嵌入式 runc 更新为 v1.1.8
    • 将嵌入式 etcd 更新为 v3.5.9+k3s1
  • 节点名称更改时,etcd 快照保留 (#8099)
  • 将 kine 升级为 v0.10.2 (#8125)
    • 将 kine 更新为 v0.10.2
  • 删除 terraform 包 (#8136)
  • 修复 etcd-s3 为 true 时,etcd 快照删除问题 (#8110)
  • 添加 --disable-cloud-controller 和 --disable-kube-proxy 测试 (#8018)
  • 使用 go list -m 代替 grep 查询版本 (#8138)
  • 在测试中使用 VERSION_K8S 代替 grep go.mod (#8147)
  • 修复 Kubeflag 集成测试 (#8154)
  • 修复 etcd 快照禁用时,集群重置从 s3 备份的问题 (#8155)
  • 并行运行集成测试 CI (#8156)
  • 升级 Trivy 版本 (#8150)
  • 升级 Trivy 版本 (#8178)
  • 修复 etcd 保留策略,根据日期删除孤立快照 (#8177)
  • 升级 dynamiclistener (#8193)
    • 升级 dynamiclistener 以解决可能导致 etcd 仅节点上的 apiserver/supervisor 侦听器在 6443 停止服务请求的问题。
    • K3s 外部 apiserver/supervisor 侦听器现在在 6443 上在 TLS 握手期间发送完整的证书链。
  • 升级 helm-controller/klipper-helm 版本 (#8204)
    • 捆绑的 helm 控制器作业映像使用的 helm 版本已更新为 v3.12.3
  • E2E:为 k3s token 添加测试 (#8184)
  • 将 flannel 移动到 0.22.2 (#8219)
    • 将 flannel 移动到 v0.22.2
  • 更新到 v1.27.5 (#8236)
  • 添加新的 CLI 标志以启用 TLS SAN CN 过滤 (#8257)
    • 添加了新的 --tls-san-security 选项。此标志默认情况下为 false,但可以设置为 true 以禁用自动将 SAN 添加到服务器的 TLS 证书,以满足客户端请求的任何主机名。
  • 添加 RWMutex 以解决控制器问题 (#8273)

发布 v1.27.4+k3s1

此版本将 Kubernetes 更新为 v1.27.4,并修复了一些问题。
​ 有关新增内容的更多详细信息,请参阅 Kubernetes 版本说明。 ​

自 v1.27.3+k3s1 后的更改:

  • 包导入多次 (#7803)
  • 更快的 K3s 二进制构建选项 (#7805)
  • 将稳定通道更新为 v1.27.3+k3s1 (#7827)
  • 将 cli 添加到自定义 klipper helm 映像 (#7682)
    • 现在可以使用 --helm-job-image CLI 标志覆盖默认的 helm 控制器作业映像
  • 在执行 tailscale 时检查我们是否在 ipv4、ipv6 或双栈上 (#7838)
  • 删除 file_windows.go (#7845)
  • 添加由 cli 指定的 k3s 数据目录位置 (#7791)
  • 修复 e2e 启动不稳定测试 (#7839)
  • 允许 k3s 自定义 helm 控制器上的 apiServerPort (#7834)
  • 节点身份验证被拒绝时,回退到基本/承载者身份验证 (#7836)
    • 解决了一个问题,该问题导致使用 kubeadm 风格的引导令牌加入的代理在它们的节点对象被删除后无法重新加入集群。
  • 修复代码拼写检查 (#7858)
  • 添加 e2e s3 测试 (#7833)
  • 警告 v1.28 将弃用重新加密/准备 (#7848)
  • 支持为 Tailscale 设置控制服务器 URL (#7807)
    • 支持将 tailscale 连接到单独的服务器(例如 headscale)
  • 改进 K3s 发布文档 (#7864)
  • 修复无根节点密码位置 (#7887)
  • 在 /tests/terraform 中将 google.golang.org/grpc 从 1.51.0 升级到 1.53.0 (#7879)
  • 为克隆步骤添加重试 (#7862)
  • 如果禁用 etcd,则为 etcd 生成证书和密钥。 (#6998)
  • 如果 apparmor 配置文件被强制执行,则不要在 check-config 中使用 zgrep (#7939)
  • 修复 image_scan.sh 脚本并下载 trivy 版本 (#7950)
  • 恢复“警告 v1.28 将弃用重新加密/准备” (#7977)
  • 调整默认 kubeconfig 文件权限 (#7978)
  • 修复发布文档上的更新 go 版本命令 (#8028)
  • 更新到 v1.27.4 (#8014)

发布 v1.27.3+k3s1

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

有关新增内容的更多详细信息,请参阅 Kubernetes 版本说明

自 v1.27.2+k3s1 后的更改:

  • 更新 flannel 版本 (#7628)
    • 将 flannel 更新为 v0.22.0
  • 添加 el9 selinux rpm (#7635)
  • 更新通道 (#7634)
  • 允许 coredns 覆盖扩展 (#7583)
    • coredns-custom ConfigMap 现在允许在 .:53 默认服务器块中包含 *.override 部分。
  • 将 klipper-lb 升级为 v0.4.4 (#7617)
    • 将 klipper-lb 映像升级到 v0.4.4 以解决一个问题,该问题在 Service ExternalTrafficPolicy 设置为 Local 时阻止从本地主机访问 ServiceLB 端口。
  • 将 metrics-server 升级到 v0.6.3 并更新 tls-cipher-suites (#7564)
    • 捆绑的 metrics-server 已升级到 v0.6.3,现在默认情况下仅使用安全 TLS 密码。
  • 不要将管理员 kubeconfig 用于 supervisor 和核心控制器 (#7616)
    • K3s 核心控制器(supervisor、deploy 和 helm)不再使用管理员 kubeconfig。这使得更容易从访问和审计日志中确定哪些操作是由系统执行的,哪些是由管理员执行的。
  • 升级 golang:alpine映像版本 (#7619)
  • 在编译 k3s 时使 LB 映像可配置 (#7626)
  • 升级 vagrant libvirt,修复插件安装问题 (#7605)
  • 在 Makefile 上添加格式化命令 (#7437)
  • 对 fedora 38 和 39 使用 el8 rpm (#7664)
  • 在版本之前检查变体以决定 rpm 目标和打包程序关闭 #7666 (#7667)
  • E2E 测试的测试覆盖率报告 (#7526)
  • 如果无法创建密钥,则对节点密码验证进行软失败 (#7655)
    • K3s 现在允许节点加入集群,即使在节点加入时无法创建节点密码密钥。密钥创建将在后台重试。这解决了由阻止密钥创建的失效封闭验证 Webhook 引起的潜在死锁,其中 Webhook 在新节点加入集群以运行 Webhook pod 之前不可用。
  • 启用 containerd aufs/devmapper/zfs 快照程序插件 (#7661)
    • 捆绑的 containerd 的 aufs/devmapper/zfs 快照程序插件已恢复。这些在将 containerd 移动到上一个版本中的 k3s 多调用二进制文件时被无意中省略了。
  • 升级 docker go.mod (#7681)
  • 使用版本或帮助标志的短路命令 (#7683)
    • 现在,非 root 用户可以调用 k3s --helpk3s --version 命令,而不会在默认配置文件上遇到权限错误。
  • 升级 Trivy 版本 (#7672)
  • E2E:捕获 K3s 子命令的覆盖率 (#7686)
  • 将 tailscale 集成到 k3s (#7352)
    • 将 tailscale VPN 集成到 k3s
  • 添加私有注册表 E2E 测试 (#7653)
  • E2E:删除不必要的 DaemonSet 添加/删除 (#7696)
  • 添加用于操作系统验证的问题模板 (#7695)
  • 修复拼写检查 (#7740)
  • 删除无用的 libvirt 配置 (#7745)
  • 将 helm-controller 升级至 v0.15.0 以支持创建命名空间 (#7716)
    • 嵌入式 Helm Controller 已经升级至 v0.15.0,现在支持在图表目标命名空间不存在时创建它。
  • 修复 Tailscale 中的错误日志记录 (#7776)
  • 在 k3s-killall.sh 中添加命令以删除 Tailscale 的广告路由 (#7777)
  • 将 Kubernetes 升级至 v1.27.3 (#7790)

发布 v1.27.2+k3s1

此版本将 Kubernetes 升级至 v1.27.2,并修复了若干问题。

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

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

  • 确保 klog 详细程度设置为与 logrus 相同的级别 (#7303)
  • 使用模式创建 CRD (#7308)
    • 修复了 Addon、HelmChart 和 HelmChartConfig CRD 在创建时没有结构化模式的问题,导致允许使用无效内容创建这些类型的自定义资源。
  • 为了解决 aarch64 页面大小问题,升级了 k3s-root (#7364)
    • K3s 再次支持页面大小 > 4k 的 aarch64 节点。
  • 升级 Runc 和 Containerd (#7339)
  • 为 etc-snapshot 服务器标志添加集成测试,并重构 /tests/integration/integration.go/K3sStartServer (#7300)
  • 将 Traefik 升级至 v2.9.10 / 图表 21.2.0 (#7324)
    • 打包的 Traefik 版本已升级至 v2.9.10 / 图表 21.2.0
  • 添加 Longhorn 存储测试 (#6445)
  • 改进 CLI 包装器 Exec 失败时的错误消息 (#7373)
    • 当尝试从挂载为 noexec 的文件系统运行时,K3s 现在会打印更有意义的错误。
  • 修复 --disable-agent--egress-selector-mode=pod|cluster 相关问题 (#7331)
    • 使用(实验性)--disable-agent 标志启动的服务器不再尝试运行隧道授权代理组件。
    • 修复了阻止 pod 和集群 egress-selector 模式正常工作的回归问题。
  • 在“太多学习者”错误时重试集群加入 (#7351)
    • 当从 etcd 收到“太多学习者”错误时,K3s 现在会重试集群加入操作。这种情况在尝试同时添加多个服务器时最常出现。
  • 修复 MemberList 错误处理和错误的 etcd-arg 透传 (#7371)
    • K3s 现在会将 etcd-args 正确透传到用于提取集群引导数据的临时 etcd,该 etcd 用于重启托管的 etcd 节点。
    • 当新服务器加入托管的 etcd 集群时,K3s 现在可以正确处理获取当前 etcd 集群成员列表时的错误。
  • 升级 Trivy 版本 (#7383)
  • 处理带有 StringSlice 标志的多个参数 (#7380)
  • 添加 v1.27 通道 (#7387)
  • 启用 FindString 以搜索 dotD 配置文件 (#7323)
  • 将 netutil 方法迁移到 /util/net.go (#7422)
  • 本地存储:修复权限 (#7217)
  • 将 CNI 插件升级至 v1.2.0-k3s1 (#7425)
    • 捆绑的 CNI 插件已升级至 v1.2.0-k3s1。带宽和防火墙插件现在包含在捆绑包中。
  • 添加 dependabot 标签和审阅者 (#7423)
  • E2E:启动测试清理 + RunCommand 增强 (#7388)
  • 验证使用引导 ID/密钥格式的服务器令牌失败 (#7389)
    • 当服务器令牌使用引导令牌 id.secret 格式时,K3s 现在会退出并显示适当的错误消息。
  • 修复令牌启动测试 (#7442)
  • 将 kine 升级至 v0.10.1 (#7414)
    • 嵌入式 kine 版本已升级至 v0.10.1。这用 pgx 替换了传统的 lib/pq postgres 驱动程序。
  • 添加 kube-* 服务器标志集成测试 (#7416)
  • 添加对 -cover + 集成测试代码覆盖率的支持 (#7415)
  • 将 kube-router 版本升级以修复使用端口名称时的错误 (#7454)
  • 始终使用密码哈希的恒定时间比较,而不是裸密码字符串 (#7455)
  • 将 containerd 升级至 v1.7.0 并移回 multicall 二进制文件 (#7418)
    • 嵌入式 containerd 版本已升级至 v1.7.0-k3s1,并且已重新集成到主 k3s 二进制文件中,从而大幅减少了发布工件的大小。
  • 感谢 Schille 和 Miw… 添加 PITS 和 Getdeck Beiboot 作为采用者 (#7524)
  • 升级 helm-controller 版本以支持仓库身份验证/CA (#7525)
    • 嵌入式 Helm Controller 现在支持通过存储在 Secret 中的凭据对图表仓库进行身份验证,以及通过 ConfigMap 传递仓库 CA。
  • 将 containerd/runc 升级至 v1.7.1-k3s1/v1.1.7 (#7533)
    • 捆绑的 containerd 和 runc 版本已升级至 v1.7.1-k3s1/v1.1.7
  • 包装来自 netpol 的错误 (#7539)
  • 添加轮换证书检查,删除用于重启代理的函数 (#7097)
  • 将 /package 中的 alpine 从 3.17 升级至 3.18 (#7550)
  • 将 /conformance 中的 alpine 从 3.17 升级至 3.18 (#7551)
  • 添加 '-all' 标志以应用于非活动 systemd 单位 (#7567)
  • 升级至 v1.27.2-k3s1 (#7575)
  • 修复升级期间 iptables 规则的清理 (#7591)
  • 将 emicklei/go-restful 固定至 v3.9.0 (#7597)
  • 添加 el9 selinux rpm (#7443)
  • 恢复“添加 el9 selinux rpm (#7443)” (#7608)

发布 v1.27.1+k3s1

此版本是 K3S 在 v1.27 系列中的第一个版本。此版本将 Kubernetes 升级至 v1.27.1。

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

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

  • Kubernetes 1.27.1 (#7271)
  • V1.27.1 CLI 弃用 (#7311)
    • --flannel-backed=wireguard 已完全被 --flannel-backend=wireguard-native 替换。
    • k3s etcd-snapshot 命令现在将打印帮助消息,要保存快照,请使用:k3s etcd-snapshot save
    • 以下标志现在会导致致命错误(将在 v1.28.0 中完全删除)
      • --flannel-backed=ipsec:已替换为 --flannel-backend=wireguard-native 查看文档了解更多信息。
      • 不再允许提供多个 --flannel-backend 值。请改用 --flannel-conf
  • 更改了 iptables bin 检查的命令 -v 重定向 (#7315)
  • 更新 2023 年 4 月的通道服务器 (#7327)
  • 升级 cri-dockerd (#7347)
  • 清理帮助消息 (#7369)