v1.29.X
从早期版本升级之前,请务必阅读 Kubernetes 紧急升级说明。
发布 v1.29.10+k3s1
此版本将 Kubernetes 更新至 v1.29.10,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.9+k3s1 以来的更改:
- 为 flannel-ipv6masq 添加 int 测试 (#10905)
- 将 Wharfie 升级至 v0.6.7 (#10976)
- 将用户路径添加到运行时搜索 (#11004)
- 为服务中的高级字段添加 e2e 测试 (#11021)
- 使用 init 启动私有注册表 (#11046)
- 针对 2024-10 的回溯 (#11062)
- 通过 K3S_ROOTLESS_COPYUPDIRS 允许额外的无根 CopyUpDirs (#11043)
- 将 containerd 升级至 v1.7.22 (#11074)
- 简化 svclb ds (#11084)
- 添加 nvidia 运行时 cdi (#11094)
- 回滚 "使 svclb 尽可能简单" (#11114)
- 修复升级 k3s 时 CNI bins 中的 "文件存在" 错误 (#11127)
- 更新至 Kubernetes v1.29.10-k3s1 和 Go 1.22.8 (#11160)
发布 v1.29.9+k3s1
此版本将 Kubernetes 更新至 v1.29.9,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.8+k3s1 以来的更改:
- 更新 CNI 插件版本 (#10819)
- 针对 2024-09 的回溯 (#10844)
- 针对 2024-09 的测试和秘密加密回溯 (#10803)
- 更新至用于安装测试的更新的 OS 镜像
- 修复 e2e vagrant box 的缓存名称
- 修复在 E2E 测试上部署最新提交
- 删除秘密加密控制器 #10612
- DRY E2E 升级测试设置
- 覆盖 E2E 升级测试的新次要版本边缘情况
- 修复 hosts.toml 标题变量 (#10873)
- 更新至 v1.29.9-k3s1 和 Go 1.22.6 (#10885)
- 将 Kubernetes 更新至 v1.29.9-k3s2 (#10908)
发布 v1.29.8+k3s1
此版本将 Kubernetes 更新至 v1.29.8,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.7+k3s1 以来的更改:
- 修复 setproctitle 函数 (#10623)
- 将 docker/docker 升级至 v25.0.6 (#10650)
- 针对 2024-08 发布周期的回溯 (#10665)
- 在列出大量资源时使用分页
- 修复 servicelb 的多个问题
- 删除对 wait. 函数的已弃用使用
- 将 lasso 指标连接到指标端点
- 针对 2024 年 8 月的回溯 (#10672)
- 将 containerd 升级至 v1.7.20 (#10661)
- 为 DaemonSet Pod 添加容忍度支持 (#10704)
- 新功能:用户现在可以在服务上的
svccontroller.k3s.cattle.io/tolerations
注释中直接为 ServiceLB DaemonSet 定义 Kubernetes 容忍度。
- 新功能:用户现在可以在服务上的
- 更新至 v1.29.8-k3s1 和 Go 1.22.5 (#10720)
发布 v1.29.7+k3s1
此版本将 Kubernetes 更新至 v1.29.7,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.6+k3s2 以来的更改:
- 针对 2024-07 发布周期的回溯 (#10498)
- 将 k3s-root 升级至 v0.14.0
- 将 github.com/hashicorp/go-retryablehttp 从 0.7.4 升级至 0.7.7
- 升级 Local Path Provisioner 版本
- 确保远程拨号程序 kubelet 连接使用 kubelet 绑定地址
- 整理:升级 Trivy 版本
- 添加 etcd s3 配置秘密实现
- 7 月测试回溯 (#10508)
- 更新至 v1.29.7-k3s1 和 Go 1.22.5 (#10539)
- 修复从环境变量加载 data-dir 值或删除配置文件的问题 (#10597)
发布 v1.29.6+k3s2
此版本将 Kubernetes 更新至 v1.29.6,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.6+k3s1 以来的更改:
- 将 flannel 更新至 v0.25.4,并修复了 IPv6 掩码问题 (#10427)
发布 v1.29.6+k3s1
此版本将 Kubernetes 更新至 v1.29.6,并修复了多个问题。
有关新功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.5+k3s1 以来变更:
- 修复使用 tailscale 文件配置时的 bug (#10142)
- 将 flannel 版本升级到 v0.25.2 (#10220)
- 将 kube-router 版本更新为 v2.1.2 (#10181)
- 改进 tailscale 测试并为 e2e 测试添加额外日志 (#10212)
- 为 2024-06 发布周期进行 backport (#10249)
- 添加 WithSkipMissing 以便在缺少 blob 时不失败导入
- 为 cri-dockerd 使用固定流服务器绑定地址
- 将 stargz 切换到 cri registry 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 配置文件
- 添加缺失的内核配置检查
- 扫描自动部署清单 (AddOn) 时,现在会尊重符号链接的子目录
- 修复 bug:允许 helm 控制器设置所有者引用
- 为了支持 tls 密钥,升级 klipper-helm 镜像
- 修复 k3s-etcd informer 无法启动的问题
- 现在可以在代理上设置
--Enable-pprof
以启用调试/pprof 端点。设置后,代理将在 supervisor 端口监听。 - 现在可以在服务器上设置
--Supervisor-metrics
以启用在 supervisor 端点上提供内部指标;设置后,代理将在 supervisor 端口监听。 - 修复当节点保持未初始化状态时 netpol 崩溃的问题
- 嵌入式负载均衡器现在将在所有服务器由于健康检查失败而被标记为不可用时,回退到尝试所有服务器(忽略健康检查)。
- 为 2024-06 发布周期进行更多 backport (#10288)
- 添加快照保留 etcd-s3-folder 修复 (#10316)
- 为
isValidResolvConf
添加测试 (#10302) (#10329) - 修复 loadbalancer.nextServer 中的竞争条件 panic (#10322)
- 修复拼写错误,使用
rancher/permissions
(#10298) - 将 GHA go 缓存扩展到最新的发布分支 (#10334)
- 将 Kubernetes 更新到 v1.29.6 (#10348)
- 修复代理 supervisor 端口使用 apiserver 端口而不是 (#10354)
- 修复允许同时创建多个快照的问题 (#10376)
发布 v1.29.5+k3s1
此版本将 Kubernetes 更新到 v1.29.5,并修复了若干问题。
有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明.
自 v1.29.4+k3s1 以来变更:
- 将稳定通道更新为 v1.29.4+k3s1 (#10031)
- 将 E2E 分割服务器添加到 Drone,在 Drone 中支持并行测试 (#9940)
- 将 E2E opensuse leap 升级到 15.6,修复 btrfs 测试 (#10057)
- 替换已弃用的 ruby 函数 (#10091)
- 为 e2e 升级测试设置正确的发布通道 (#10106)
- Windows 变更 (#10115)
- 更新到 v1.29.5-k3s1 和 Go 1.21.9 (#10108)
发布 v1.29.4+k3s1
此版本将 Kubernetes 更新到 v1.29.4,并修复了若干问题。
有关新增功能的更多详细信息,请参阅 Kubernetes 发布说明.
自 v1.29.3+k3s1 以来变更:
- 如果无法检索成员列表,则发送错误响应 (#9722)
- 尊重 kubelet 设置的云提供程序字段 (#9721)
- k3s 桩云提供程序现在尊重 kubelet 请求的 provider-id、实例类型和拓扑标签
- 修复镜像已拉取时的错误 (#9770)
- 当 kine 处于禁用 apiserver 或禁用 etcd 状态时添加新的错误 (#9766)
- 将 k3s-root 升级到 v0.13.0 (#9718)
- 使用 ubuntu 最新版本以获得更好的 golang 缓存密钥 (#9711)
- 升级 Trivy 版本 (#9780)
- 将 E2E 测试迁移到 ubuntu 23.10 (#9755)
- 更新通道服务器 (#9808)
- 将 /etc/passwd 和 /etc/group 添加到 k3s docker 镜像 (#9784)
- 修复针对无代理服务器的 etcd 快照协调 (#9809)
- 将健康检查支持添加到负载均衡器 (#9757)
- 为 kine 添加 tls (#9572)
- Kine 现在能够使用 TLS
- 从已弃用的指针库过渡到 ptr (#9801)
- 删除旧的固定依赖项 (#9806)
- 若干 E2E 矩阵改进 (#9802)
- 添加证书到期检查、事件和指标 (#9772)
- 添加 updatecli 策略以更新 k3s-root (#9844)
- 升级 Trivy 版本 (#9840)
- 添加针对 containerd hosts.toml bug 的解决方法,该 bug 发生在为默认注册表端点传递配置时 (#9853)
- 修复:示例 docker compose 中的代理卷 (#9838)
- 将 spegel 升级到 v0.0.20-k3s1 (#9863)
- 将 supervisor 证书/密钥添加到轮换列表 (#9832)
- 添加引号以避免无用的 updatecli 更新 (#9877)
- 升级 containerd 和 cri-dockerd (#9886)
- 嵌入式 containerd 已升级到 v1.7.15
- 嵌入式 cri-dockerd 已升级到 v0.3.12
- 将 etcd 快照管理 CLI 迁移到请求/响应 (#9816)
k3s etcd-snapshot
命令已重新设计以提高一致性。所有快照操作现在由服务器进程执行,CLI 充当客户端以启动并报告结果。作为副作用,CLI 在管理快照时现在更少噪音。
- 改进 etcd 负载均衡器启动行为 (#9883)
- 真正修复代理证书轮换 (#9902)
- 将最新版本更新到 v1.29.3+k3s1 (#9909)
- 更新打包的清单 (#9920)
- Traefik 已升级到 v2.10.7。
- Traefik pod 注解现在在默认图表值中正确设置。
- system-default-registry 值现在支持 RFC2732 IPv6 字面量。
- 本地路径供应器现在默认创建
local
卷,而不是hostPath
。
- 允许本地路径供应器读取辅助日志 (#9835)
- 将 kube-router 更新到 v2.1.0 (#9926)
- 在 GitHub Actions 中匹配 setup-go 缓存密钥 (#9890)
- 在预加载的镜像上添加启动测试 (#9941)
- 更新到 v1.29.4-k3s1 和 Go 1.21.9 (#9960)
- 修复按需快照超时;不遵守文件夹 (#9984)
- 使
/db/info
可从本地主机匿名访问 (#10001)
发布 v1.29.3+k3s1
此版本将 Kubernetes 更新至 v1.29.3,并修复了一些问题。
有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.2+k3s1 以来更改:
- 测试 ADR (#9562)
- 单元测试矩阵和操作更新 (#9479)
- 更新安装测试操作系统矩阵 (#9480)
- 更新 klipper-lb 镜像版本 (#9488)
- 为 flannel-backend=none 添加集成测试 (#9582)
- 为 golang 改善 GitHub CI 缓存策略 (#9495)
- 纠正 GH PR sha256sum 工件的格式 (#9472)
- 无根模式还将服务 nodePort 绑定到主机,以用于 LoadBalancer 类型 (#9512)
- 无根模式还应将服务 nodePort 绑定到主机以用于 LoadBalancer 类型,与有根模式的 UX 相匹配。
- 修复双栈集群上的 coredns NodeHosts (#9584)
- 调整 netpol 节点等待日志 (#9581)
- 修复 etcd 节点名称缺少主机名的问题 (#9522)
- 更新 helm-controller/klipper-helm 版本 (#9595)
- 将稳定通道更新至 v1.28.7+k3s1 (#9615)
- 重新启用安装和快照器测试 (#9601)
- 将 Docker 测试移到 tests 文件夹中 (#9555)
- 修复 setup-go 错别字 (#9634)
- 修复注册表处理中的其他极端情况 (#9556)
- 修复快照修剪 (#9502)
- 正确使用和版本化 flannel/cni-plugin (#9635)
- 嵌入式 flannel cni-plugin 二进制文件现在与其他 cni 插件和嵌入式 flannel 控制器分开构建和版本化。
- 更新 spegel (#9599)
- 将 spegel 更新至 v0.0.18-k3s3
- 添加通配符注册表支持
- 修复等待 containerd 启动时 CPU 利用率过高的问题
- 添加环境变量以允许 spegel 镜像最新标签
- Chore(deps): 补救 trivy 发现的 CVE;otelrestful 上的 CVE-2023-45142 和 golang.org/x/crypto 上的 CVE-2023-48795 (#9513)
- 修复:使用正确的 wasm shims 名称 (#9519)
- 修复嵌入式注册表测试中的通配符 (#9649)
- 使用
NO_COLOR
环境变量禁用彩色输出 (#9357)- 若要为
check-config
子命令启用原始输出,您现在可以设置 NO_COLOR=1
- 若要为
- 改进 tailscale e2e 测试 (#9586)
- 根据配置的 clusterCIDR 调整第一个 node-ip (#9520)
- 更新 Trivy 版本 (#9528)
- 在 flannel cni 插件版本中包含 flannel 版本 (#9648)
- flannel 控制器版本现在作为 flannel cni 插件版本上的构建元数据报告。
- 在 GitHub Actions 上启用 E2E 测试 (#9660)
- 将 metrics-server 更新至 v0.7.0 (#9673)
- 将上传和下载操作更新至 v4 (#9666)
- 警告并抑制重复的注册表镜像端点 (#9697)
- K3s 现在将警告并抑制注册表镜像端点列表中的重复条目。Containerd 不支持为单个上游注册表多次列出相同的端点作为镜像。
- 删除重复的词语 (#9671)
- 在 GitHub Actions 中运行 Docker 测试子集 (#9698)
- 修复通配符条目上游回退 (#9729)
- 更新至 v1.29.3-k3s1 和 Go 1.21.8 (#9747)
发布 v1.29.2+k3s1
此版本将 Kubernetes 更新至 v1.29.2,并修复了一些问题。
有关新增功能的更多详细信息,请参阅 Kubernetes 发行说明。
自 v1.29.1+k3s2 以来更改:
- 更新本地路径供应器版本 (#8953)
- 添加从 GitHub 安装 K3s PR 工件的功能 (#9185)
- 添加
INSTALL_K3S_PR
选项以从任何已通过 CI 批准的开放 PR 安装 K3s 构建
- 添加
- 更新 Trivy 版本 (#9237)
- 将 codecov/codecov-action 从 3 更新至 4 (#9353)
- 更新稳定通道 (#9388)
- 修复快照协调重试 (#9318)
- 添加对 etcd-snapshot-dir 的检查,并修复 Walk 中的恐慌 (#9317)
- 将 CNI 插件更新至 v1.4.0 (#9249)
- 修复 coredns 节点主机控制器问题 (#9354)
- 修复当嵌入式 helm 控制器被禁用时,可能会导致 coredns pod 无法启动的问题,这是由于 configmap 未使用节点主机条目更新。
- 修复 ipv6-only 节点上的按需快照 (#9247)
- 更新 flannel 版本 (#9395)
- 将 flannel 更新至 v0.24.2
- Build: 对齐 drone 基础镜像 (#8959)
- 更改了 etcd 条件中 lastHeartBeatTime 的工作方式 (#9263)
- 使用 exec.LookPath 重构运行时 (#9311)
- 包含运行时的目录需要包含在 $PATH 环境变量中,以实现有效的运行时检测。
- 更新 cri-dockerd 以修复与 Docker Engine 25 的兼容性 (#9290)
- 添加 codcov 密钥,以便在 Push 时进行集成测试 (#9422)
- 允许执行器定义
containerd
和cridockerd
行为 (#9184) - 将 Kube-router 更新至 v2.0.1 (#9396)
- : Test_UnitApplyContainerdQoSClassConfigFileIfPresent (已创建) (#8945)
- 使用对 KMSv2 GA 的正确支持重新添加
k3s secrets-encrypt rotate-keys
(#9340) - 修复 sbin 不在用户 PATH 中时的 iptables 检查 (#9344)
- 如果代理被禁用,则不创建 NodePasswordValidationFailed 事件 (#9312)
- 如果代理被禁用,则
NodePasswordValidationFailed
事件将不再发出。
- 如果代理被禁用,则
- 在 ~/.rancher/k3s/rootless 下公开无根状态目录 (#9308)
- 在无根模式下运行 k3s 时,将 rootlesskit 的状态目录公开为
~/.rancher/k3s/rootless
- 在无根模式下运行 k3s 时,将 rootlesskit 的状态目录公开为
- 公开无根 containerd 套接字目录以供外部访问 (#9309)
- 将 k3s 无根 containerd 和 cri-dockerd 套接字目录分别装载到
$XDG_RUNTIME_DIR/k3s/containerd
和$XDG_RUNTIME_DIR/k3s/cri-dockerd
。
- 将 k3s 无根 containerd 和 cri-dockerd 套接字目录分别装载到
- 更新 kine 并将 NotifyInterval 设置为 apiserver 所期望的值 (#9349)
- 将 Kubernetes 更新至 v1.29.2 (#9493)
- 修复 arm 架构下的 drone 发布问题 (#9503)
- 移除失败的 Drone 步骤 (#9517)
- 恢复代理启动函数的原始顺序 (#9539)
- 修复禁用 Flannel 时 netpol 的启动问题 (#9571)
发布 v1.29.1+k3s2
此版本将 Kubernetes 更新至 v1.29.1,并修复了一些问题。
有关新功能的更多详细信息,请参见 Kubernetes 版本说明。
重要说明
通过将 runc 更新至 v1.1.12 来解决 runc CVE:CVE-2024-21626。
自 v1.29.0+k3s1 以来的更改:
- 更新 Sonobuoy 版本 (#8910)
- 将 actions/setup-go 从 4 更新至 5 (#9036)
- 任务:将行为准则更新为重定向至 CNCF 行为准则 (#9104)
- 无
- 将稳定通道更新至 v1.28.5+k3s1 并添加 v1.29 通道 (#9110)
- 为代理负载均衡器添加了对 env *_PROXY 变量的支持 (#9070)
- 如果 K3S_AGENT_HTTP_PROXY_ALLOWED 环境变量设置为 true,代理负载均衡器现在将考虑 HTTP_PROXY、HTTPS_PROXY 和 NO_PROXY 环境变量。
- 但是,这不会影响本地请求,因为使用的函数阻止了这种情况:https://pkg.go.dev/net/http#ProxyFromEnvironment。
- 在更新 secrets-encrypt 节点注释时添加重试 (#9039)
- 在 INSTALL_K3S_SKIP_SELINUX_RPM 上静默 SELinux 警告 (#8703)
- 为 PodHostIPs FeatureGate 添加 ServiceLB 支持 (#8917)
- 为代理负载均衡器添加了对 env *_PROXY 变量的支持 (#9118)
- 在检查 nm-cloud systemd 单元时将错误流重定向到 null (#8815)
- 删除令人困惑的 "nm-cloud-setup.service: No such file or directory" journalctl 日志
- Dockerfile.dapper:正确设置 $HOME (#9090)
- 将 system-agent-installer-k3s 步骤添加到 GA 版本说明中 (#9153)
- 修复安装脚本校验和 (#9159)
- 修复打印错误变量的 OTHER etcd 快照 s3 日志消息 (#8944)
- 在解析 kube-proxy 参数时处理日志标志 (#8916)
- 修复完整快照 ConfigMap 协调中的 nil 映射 (#9049)
- 为 containerd cri 注册表添加 config_path 支持 (#8973)
- 为 crun 运行时检测添加更多路径 (#9086)
- 添加 golang 版本的运行时检查 (#9054)
- 修复标记版本上的 OS PRETTY_NAME (#9062)
- 在安装脚本内部下载文件错误时打印错误 (#6874)
- 在启动 netpol 控制器之前等待云提供商污染消失 (#9076)
- 更新 Trivy 版本 (#8812)
- 为双栈 kube-dns 使用
ipFamilyPolicy: RequireDualStack
(#8984) - 在节点未就绪时处理 etcd 状态条件并禁用 etcd (#9084)
- 更新 s3 e2e 测试 (#9025)
- 为无根 k3s 添加 e2e 启动测试 (#8383)
- 添加 spegel 分布式注册表镜像 (#8977)
- 更新 quic-go 以修复 CVE-2023-49295 (#9208)
- 启用网络策略控制器指标 (#9195)
- Kube-router 网络策略控制器指标现在通过默认的节点指标端点公开
- 修复不存在的依赖库 (#9213)
- 将代理拨号器移出 init() 并修复使用
K3S_AGENT_HTTP_PROXY_ALLOWED=true
时的崩溃问题 (#9219) - 在 setEtcdStatusCondition 中获取节点错误 (#9210)
- 更新至 v1.29.1 和 Go 1.21.6 (#9259)
- 新过时操作 (#9278)
- 修复在 registries.yaml 中处理裸主机名或 IP 作为端点地址的问题 (#9323)
- 将 runc 更新至 v1.1.12,将 helm-controller 更新至 v0.15.7 (#9332)
- 更新 helm-controller 以修复 ChartContent 问题 (#9345)
发布 v1.29.0+k3s1
此版本是 K3S 在 v1.29 版本线上的第一个版本。此版本将 Kubernetes 更新至 v1.29.0。
从早期版本升级之前,请务必阅读 Kubernetes 紧急升级说明。
此版本删除了实验性的 rotate-keys
子命令,因为 Kubernetes 上游对 KMSv2 做了更改,该子命令应在将来的版本中添加回来。
此版本还删除了 multi-cluster-cidr
标志,因为对该 alpha 功能的支持已从 Kubernetes 上游 中完全删除,应在升级之前从配置中删除此标志。
自 v1.28.4+k3s2 以来的更改:
- 修复重叠地址范围 (#8913)
- 修改 CONTRIBUTING.md 指南 (#8954)
- 2023 年 11 月稳定通道更新 (#9022)
- wasm/nvidia/crun 的默认运行时和运行时类 (#8936)
- 为 wasm/nvidia/crun 添加了运行时类
- 为 containerd 添加了默认运行时标志
- 将 containerd/runc 更新至 v1.7.10-k3s1/v1.1.10 (#8962)
- 允许在服务器上设置 default-runtime (#9027)
- 将 containerd 更新至 v1.7.11 (#9040)
- 删除 GA 特性开关 (#8970)
- 仅在合并的 E2E 构建上发布到 code_cov (#9051)
- 将 Kubernetes 更新至 v1.29.0+k3s1 (#9052)
- 将 flannel 更新至 v0.24.0 并删除 multiclustercidr 标志 (#9075)
- 删除 rotate-keys 子命令 (#9079)