跳至主要内容

v1.24.X

升级通知

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

版本发布日期KubernetesKineSQLiteEtcdContainerdRuncFlannelMetrics-serverTraefikCoreDNSHelm-controllerLocal-path-provisioner
v1.24.17+k3s12023年9月5日v1.24.17v0.10.23.42.0v3.5.3-k3s1v1.7.3-k3s1v1.1.8v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.4v0.0.24
v1.24.16+k3s12023年7月27日v1.24.16v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.2v0.0.24
v1.24.15+k3s12023年6月26日v1.24.15v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.3v2.9.10v1.10.1v0.15.0v0.0.24
v1.24.14+k3s12023年5月26日v1.24.14v0.10.13.39.2v3.5.3-k3s1v1.7.1-k3s1v1.1.7v0.21.3-k3s1.23v0.6.2v2.9.10v1.10.1v0.14.0v0.0.24
v1.24.13+k3s12023年4月20日v1.24.13v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.5v0.21.3-k3s1.23v0.6.2v2.9.4v1.10.1v0.13.3v0.0.24
v1.24.12+k3s12023年3月27日v1.24.12v0.9.93.39.2v3.5.3-k3s1v1.6.19-k3s1v1.1.4v0.21.3-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.11+k3s12023年3月10日v1.24.11v0.9.93.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.21.1-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.10+k3s12023年1月26日v1.24.10v0.9.63.39.2v3.5.3-k3s1v1.6.15-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.9+k3s22023年1月11日v1.24.9v0.9.63.39.2v3.5.3-k3s1v1.6.14-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.9+k3s12022年12月20日v1.24.9v0.9.63.39.2v3.5.3-k3s1v1.6.12-k3s1v1.1.4v0.20.2-k3s1.23v0.6.2v2.9.4v1.9.4v0.13.1v0.0.23
v1.24.8+k3s12022年11月18日v1.24.8v0.9.63.39.2v3.5.3-k3s1v1.6.8-k3s1v1.1.4v0.20.1-k3s1.23v0.6.1v2.9.4v1.9.4v0.13.0v0.0.23
v1.24.7+k3s12022年10月25日v1.24.7v0.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.24.6+k3s12022年9月28日v1.24.6v0.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.24.4+k3s12022年8月25日v1.24.4v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.3v0.19.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.3+k3s12022年7月19日v1.24.3v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.3v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.2+k3s22022年7月6日v1.24.2v0.9.33.36.0v3.5.3-k3s1v1.5.13-k3s1v1.1.2v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.2+k3s12022年6月27日v1.24.2v0.9.13.36.0v3.5.3-k3s1v1.6.6-k3s1v1.1.2v0.18.1v0.5.2v2.6.2v1.9.1v0.12.3v0.0.21
v1.24.1+k3s12022年6月11日v1.24.1v0.9.13.36.0v3.5.3-k3s1v1.5.11-k3s1v1.1.1v0.17.0v0.5.2v2.6.2v1.9.1v0.12.1v0.0.21

发行 v1.24.17+k3s1

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

重要

此版本包含对修复 CVE-2023-32187 的支持,CVE-2023-32187 是 K3s 服务器上的潜在拒绝服务攻击载体。请参阅 https://github.com/k3s-io/k3s/security/advisories/GHSA-m4hf-6vgr-75r2 以获取更多信息,包括抵御此漏洞所需的强制步骤。

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

自 v1.24.16+k3s1 以来更改:

  • 将 cni 插件版本更新至 v1.3.0 (#8087)
  • 节点名称更改时保留 Etcd 快照 (#8124)
  • 8 月测试回传 (#8128)
  • 2023 年 8 月版本的回传 (#8135)
    • K3s 的外部 apiserver 侦听器现在拒绝向其证书添加任何与 kubernetes apiserver 服务、服务器节点或 --tls-san 选项的值无关的主题名称。这可以防止证书的 SAN 列表中填充不需要的条目。
    • 当不使用出口代理将连接路由到集群内端点时,K3s 不再启用 apiserver 的 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 删除无法删除本地文件 (#8146)
  • 修复 etcd 快照禁用时来自 s3 的集群重置备份 (#8168)
  • 修复了 etcd 保留策略,以便根据日期删除孤立的快照 (#8191)
  • 2023 年 8 月版本的其他回传 (#8214)
    • 捆绑的 helm 控制器作业映像使用的 helm 版本已更新至 v3.12.3
    • 将 dynamiclistener 提升至最新版本,以解决可能导致 6443 上的 apiserver/supervisor 侦听器停止在仅 etcd 节点上提供请求的问题。
    • 6443 上的 K3s 外部 apiserver/supervisor 侦听器现在在 TLS 握手过程中发送完整的证书链。
  • 修复 runc 版本提升 (#8243)
  • 更新至 v1.24.17 (#8240)
  • 添加新的 CLI 标志以启用 TLS SAN CN 过滤 (#8260)
    • 添加了一个新的 --tls-san-security 选项。此标志默认为 false,但可以设置为 true 以禁用自动向服务器的 TLS 证书添加 SAN 以满足客户端请求的任何主机名。
  • 添加 RWMutex 以解决控制器 (#8276)

发行 v1.24.16+k3s1

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

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

自 v1.24.14+k3s1 以来更改:

  • 修复代码拼写检查 (#7861)
  • 删除 file_windows.go (#7857)
  • 允许 k3s 在 helm-controller 上自定义 apiServerPort (#7872)
  • 修复无根节点密码 (#7899)
  • 2023 年 7 月版本的回传 (#7910)
    • 解决了导致使用 kubeadm 样式引导令牌加入的代理在节点对象被删除时无法重新加入集群的问题。
    • k3s certificate rotate-ca 命令现在支持 data-dir 标志。
  • 将 cli 添加到自定义 klipper helm 映像 (#7916)
    • 默认的 helm-controller 作业映像现在可以使用 --helm-job-image CLI 标志覆盖。
  • 如果 etcd 被禁用,则生成 etcd 的证书和密钥 (#7946)
  • 如果强制执行 apparmor 配置文件,则在 check-config 中不要使用 zgrep (#7955)
  • 修复 image_scan.sh 脚本并下载 trivy 版本 (#7950) (#7970)
  • 调整默认 kubeconfig 文件权限 (#7985)
  • 更新至 v1.24.16 (#8023)

发行 v1.24.15+k3s1

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

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

自 v1.24.14+k3s1 以来更改:

  • E2E 回传 - 6 月 (#7726)
    • 使用版本或帮助标志的短路命令 #7683
    • 添加轮换认证检查,删除重新启动代理的功能 #7097
    • E2E:RunCmdOnNode 的 Sudo #7686
  • 修复拼写检查 (#7753)
  • 回传版本提升和错误修复 (#7719)
    • 捆绑的 metrics-server 已提升至 v0.6.3,现在默认仅使用安全 TLS 密码。
    • coredns-custom ConfigMap 现在允许在 .:53 默认服务器块中包含 *.override 部分。
    • K3s 核心控制器(supervisor、deploy 和 helm)不再使用 admin kubeconfig。这使得更容易从访问和审计日志中确定哪些操作是由系统执行的,哪些是由管理员用户执行的。
    • 将klipper-lb镜像升级到v0.4.4,以解决当Service ExternalTrafficPolicy设置为Local时,无法从localhost访问ServiceLB端口的问题。
    • 编译k3s时使LB镜像可配置
    • K3s现在允许节点加入集群,即使在节点加入时无法创建节点密码密钥。密钥创建将在后台重试。这解决了由失效关闭的验证Webhook阻止密钥创建而产生的潜在死锁问题,其中Webhook在新的节点加入集群运行Webhook Pod之前是不可用的。
    • 已恢复捆绑的containerd的aufs/devmapper/zfs快照插件。在上一版本将containerd移回k3s多调用二进制文件时,这些插件被意外省略了。
    • 嵌入式Helm控制器已升级到v0.15.0,现在支持在图表的目标命名空间不存在时创建它。
  • 删除未使用的libvirt配置 (#7759)
  • 在Makefile中添加格式化命令 (#7764)
  • 将Kubernetes更新到v1.24.15 (#7785)

发布 v1.24.14+k3s1

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

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

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

  • 在Drone中添加端到端测试 (#7376)
  • 为etcd快照服务器标志添加集成测试 (#7379)
  • CLI + 配置增强 (#7407)
    • --Tls-sans现在接受多个参数:--tls-sans="foo,bar"
    • config.yaml.d文件中设置Prefer-bundled-bin: true现在可以正常工作了
  • 将netutil方法迁移到/utils/net.go (#7435)
  • 升级Runc + Containerd + Docker以修复CVE (#7453)
  • 将kube-router版本升级到修复端口名称使用时的错误 (#7462)
  • Kube标志和Longhorn测试1.24 (#7467)
  • 本地存储:修复权限 (#7472)
  • 回传版本升级和错误修复 (#7516)
    • 当从etcd收到“太多学习者”错误时,K3s现在会重试集群加入操作。这最常发生在尝试同时添加多个服务器时。
    • K3s再次支持页面大小> 4k的aarch64节点
    • 打包的Traefik版本已升级到v2.9.10 / 图表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 (#7536)
    • 捆绑的containerd和runc版本已升级到v1.7.1-k3s1/v1.1.7
  • 包装来自netpol的错误信息 (#7549)
  • 更新到v1.24.14-k3s1 (#7577)

发布 v1.24.13+k3s1

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

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

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

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

发布 v1.24.12+k3s1

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

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

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

  • 更新flannel和kube-router (#7063)
  • 升级各种依赖项以修复CVE (#7042)
  • 启用dependabot (#7046)
  • 在设置之前等待kubelet端口就绪 (#7065)
    • 代理隧道授权程序现在会在读取节点对象中的kubelet端口之前等待kubelet就绪。
  • 改进对旋转默认自签名证书的支持 (#7080)
    • k3s certificate rotate-ca检查现在支持在没有--force选项的情况下旋转自签名证书。
  • 添加有关编辑containerd config.toml文件的警告 (#7076)
  • 更新到v1.24.12-k3s1 (#7105)

发布 v1.24.11+k3s1

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

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

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

  • 为计划的快照添加抖动并在冲突时更努力地重试 (#6783)
    • 计划的etcd快照现在会延迟最多几秒的随机时间。这应该可以防止多服务器集群在尝试同时更新快照列表ConfigMap时执行异常行为。快照控制器还将更持久地尝试更新快照列表。
  • 升级cri-dockerd (#6799)
    • 嵌入式 cri-dockerd 已更新至 v0.3.1
  • Bug 修复:启用 pprof 时不会中断 cert-manager (#6838)
  • 将 Vagrant 镜像升级到 Fedora 37 (#6859)
  • 修复 cronjob 示例 (#6865)
  • 确保标志类型一致性 (#6868)
  • 等待 cri-dockerd 套接字 (#6854)
  • 整合 E2E 测试 (#6888)
  • 重新加密密钥时忽略值冲突 (#6918)
  • 允许 ServiceLB 遵守 ExternalTrafficPolicy=Local (#6908)
    • ServiceLB 现在遵循 Service 的 ExternalTrafficPolicy。当设置为 Local 时,负载均衡器将仅公布具有 Service Pod 的节点的地址,并且不会将流量转发到其他集群成员。
  • 将 Kubernetes 服务地址添加到 SAN 列表时使用默认地址族 (#6905)
    • 在使用 IPv6 作为默认 IP 族群的集群上,apiserver 公告地址和 IP SAN 条目现在已正确设置。
  • 修复验证 Webhook 阻止创建时 servicelb 启动失败的问题 (#6920)
    • 嵌入式云控制器管理器在启动时将不再尝试无条件地重新创建其命名空间和服务帐户。这解决了在使用故障关闭 Webhook 时可能导致集群死锁的问题。
  • 反向移植用户提供的 CA 证书和 kubeadm 引导令牌支持 (#6930)
    • 当集群 CA 证书由现有的根或中间 CA 签署时,K3s 现在可以正常运行。您可以在 github 存储库中的 contrib/util/certs.sh 中找到在 K3s 启动之前生成此类证书的示例脚本。
    • K3s 现在支持 kubeadm 样式的加入令牌。k3s token create 现在创建加入令牌密钥,可以选择设置有限的 TTL。
    • 使用过期或已删除令牌加入的 K3s 代理通过 NodeAuthorization 准入插件保留在集群中,使用现有的客户端证书,除非它们的 Node 对象从集群中删除。
  • 修复 egress-selector-mode=agent 时访问 NodeIP 上的 hostNetwork 端口的问题 (#6937)
    • 修复了一个问题,该问题会导致 apiserver 出口代理即使在代理或禁用模式下也尝试使用代理隧道连接到服务端点。
  • 将 Flannel 更新至 v0.21.1 (#6925)
  • 允许使用多组 leader-elected 控制器 (#6942)
    • 修复了托管 etcd 的 leader-elected 控制器未在仅 etcd 节点上运行的问题
  • 修复 etcd 和 ca-cert 旋转问题 (#6955)
  • 修复 ServiceLB 双栈入口 IP 列表 (#6988)
    • 解决了 ServiceLB 的一个问题,该问题会导致它即使在集群或服务未启用双栈操作的情况下也公布节点 IPv6 地址。
  • 将 Kine 更新至 v0.9.9 (#6976)
    • 嵌入式 Kine 版本已更新至 v0.9.9。现在在 info 级别省略了压缩日志消息,以提高可见性。
  • 更新至 v1.24.11-k3s1 (#7009)

发布 v1.24.10+k3s1

此版本将 Kubernetes 更新至 v1.24.10+k3s1,并修复了许多问题。

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

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

  • 传递默认 tls-cipher-suites (#6731)
    • K3s 默认密码套件现在已明确传递到 kube-apiserver,确保所有侦听器都使用这些值。
  • 将 containerd 更新至 v1.6.15-k3s1 (#6736)
    • 嵌入式 containerd 版本已更新至 v1.6.15-k3s1
  • 将 action/download-artifact 更新至 v3 (#6748)

发布 v1.24.9+k3s2

此版本将 containerd 更新至 v1.6.14 以解决 containerd 重新启动时 Pod 会丢失其 CNI 信息的问题。

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

  • 反向移植缺失的 E2E 测试提交 (#6616)
  • 将 containerd 更新至 v1.6.14-k3s1 (#6695)
    • 嵌入式 containerd 版本已更新至 v1.6.14-k3s1。这包括针对 containerd/7843 的反向移植修复,该修复导致 containerd 重新启动时 Pod 会丢失其 CNI 信息,进而导致 kubelet 重新创建 Pod。

发布 v1.24.9+k3s1

⚠️ 警告

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

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

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

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

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

  • 删除属于 Windows 执行程序实现的内容 (#6502)
  • GitHub CI 更新 (#6535)
  • 修复 flannelExternalIP 使用案例的日志 (#6540)
  • 从 Google Cloud Storage 迁移到 AWS S3 存储桶 (#6570)
  • 将 secrets-encryption 标志更改为 GA (#6591)
  • 将 Flannel 更新至 v0.20.2 (#6589)
  • 2022 年 12 月的反向移植 (#6599)
    • 添加了新的 prefer-bundled-bin 标志,该标志强制 K3s 使用其捆绑二进制文件而不是主机工具的二进制文件
    • 嵌入式 containerd 版本已更新至 v1.6.10-k3s1
    • 现在可以通过环境变量配置 rootless port-drivercidrmtuenable-ipv6disable-host-loopback 设置。
    • 嵌入式负载均衡器控制器镜像已更新至 klipper-lb:v0.4.0,其中包括对 LoadBalancerSourceRanges 字段的支持。
    • 嵌入式 Helm 控制器镜像已更新至 klipper-helm:v0.7.4-build20221121
    • 当设置 --disable-cloud-controller 标志时,嵌入式云控制器管理器的端口 10258 上的指标侦听器现在已禁用。
    • K3s 打包组件的部署现在具有一致的升级策略和 revisionHistoryLimit 设置,并且不会通过硬编码副本数来覆盖扩展决策。
    • 打包的 metrics-server 已更新至 v0.6.2
    • 嵌入式 k3s-root 版本已更新至 v0.12.0,基于 buildroot 2022.08.1。
    • 已删除嵌入式 swanctl 和 charon 二进制文件。如果您使用 ipsec flannel 后端,请确保在升级 k3s 之前已在节点上安装 strongswan swanctlcharon 包。
  • 更新基于 GH Actions 的 node12->node16 (#6595)
  • 更新至 v1.24.9-k3s1 (#6623)
  • 将 containerd 更新至 v1.6.12-k3s1 (#6630)
    • 嵌入式 containerd 版本已更新至 v1.6.12
  • 预加载 iptable_filter/ip6table_filter (#6647)

发布 v1.24.8+k3s1

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

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

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

  • 在 Netplan 中添加 gateway 参数 (#6341)
  • 为 podSelector 和 ingress 类型添加 Netpol 测试 (#6348)
  • 将 kube-router 升级到 v1.5.1 (#6356)
  • 更新安装测试的操作系统镜像 (#6379)
  • 添加 node-external-ip 配置参数的测试 (#6363)
  • 将 Flannel 更新至 v0.20.1 (#6418)
  • 2022 年 11 月的反向移植
  • 打包的 Traefik Helm Chart 已更新至 v19.0.0,默认启用 IngressClass 支持。
  • 打包的 local-path-provisioner 已更新至 v0.0.23
  • 打包的 CoreDNS 已更新至 v1.9.4
  • 修复不正确的 defer 用法
  • 捆绑的 Traefik 已更新至 v2.9.4/Helm Chart v18.3.0
  • 如果设置了调试,则使用调试器友好的编译设置
  • 添加 node-external-ip 配置参数的测试
  • 将 containerd config.toml.tmpl Linux 模板转换为 v2 语法
  • 将 Fedora CoreOS 替换为 Fedora 36 用于安装测试
  • 修复了一个问题,该问题会阻止部署控制器处理包含 apiserver 不再支持的资源类型的清单。
  • 嵌入式 Helm 控制器已更新至 v0.13.0
  • 捆绑的 Traefik Helm Chart 已更新至 v18.0.0

  • 添加强化集群和升级测试
  • 将 kine 升级到 v0.9.6 / sqlite3 升级到 v3.39.2 (cve-2022-35737)
  • 将 dynamiclistener 库升级到 v0.3.5 (#6411)
  • 添加一些帮助日志以避免错误配置 (#6432)
  • 根据 flannel-external-ip 更改地址类型的优先级 (#6434)
  • 在启动 netpol 控制器时记录 kube-router 版本 (#6439)
  • 当服务器节点之间关键配置不同时,K3s 现在会具体指出哪些集群级配置标志不同步。 (#6446)
  • 直接从 GH 拉取 traefik helm chart (#6469)
  • 更新到 v1.24.8 (#6479)
  • 打包的 traefik helm chart 已更新到 19.0.4 (#6495)
  • 再次移动 traefik chart 仓库 (#6509)

发布 v1.24.7+k3s1

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

K3s 的 CIS 强化指南 已更新,包含支持在云控制器管理器中嵌入 ServiceLB 所需的配置更改。如果您已遵循强化指南,请相应更新您的策略和 RBAC。

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

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

  • 当存在 k3s node-external-ip 时添加 flannel-external-ip (#6189)
  • 2022 年 10 月的反向移植 (#6227)
    • 嵌入式 metrics-server 版本已更新到 v0.6.1
    • ServiceLB (klipper-lb) 服务控制器现在已集成到 K3s 存根云控制器管理器中。
    • 嵌入式控制器记录到集群的事件现在在服务日志中以正确的格式显示。
    • 修复了 apiserver 网络代理的一个问题,该问题导致 kubectl exec 偶尔失败并显示 error dialing backend: EOF
    • 修复了 apiserver 网络代理的一个问题,该问题导致 kubectl execkubectl logs 在使用自定义 kubelet 端口且自定义端口被防火墙或安全组规则阻止时失败。
    • 嵌入式 Traefik 版本已更新到 v2.9.1 / chart 12.0.0
  • 替换已弃用的 ioutil 包 (#6235)
  • 修复 dualStack 测试 (#6250)
  • 更新到 v1.24.7-k3s1 (#6270)
  • 为 svclb pod 添加 ServiceAccount (#6276)
  • 以 URI 格式返回 ProviderID (#6287)
  • 更正了 CCM RBAC,以允许在升级期间删除旧的服务终结器。 (#6307)
  • 添加了一个新的 --flannel-external-ip 标志。 (#6322)
    • 启用后,Flannel 流量将使用节点外部 IP 而不是内部 IP。
    • 这适用于并非全部位于同一本地网络上的分布式集群。

发布 v1.24.6+k3s1

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

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

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

  • 从 windows kubelet 参数中删除 --containerd 标志 (#6028)
  • 将 v1.24.4+k3s1 标记为稳定版 (#6036)
  • E2E:添加对 CentOS 7 和 Rocky 8 的支持 (#6015)
  • 转换安装测试以运行 k3s 的 PR 构建 (#6003)
  • CI:更新 Fedora 34 -> 35 (#5996)
  • 修复 dualStack 测试并更改 ipv6 网络前缀 (#6023)
  • 修复 e2e 测试 (#6018)
  • 更新 Flannel 版本以修复旧的 iptables 版本问题。 (#6088)
  • 捆绑的 runc 版本已更新到 v1.1.4 (#6072)
  • 嵌入式 containerd 版本已更新到 v1.6.8-k3s1 (#6079)
  • 批量反向移植测试更改 (#6085)
  • 添加验证检查以确认 Kubernetes 的正确 golang 版本 (#6113)
  • 更新到 v1.24.5 (#6143)
  • 更新到 v1.24.6-k3s1 (#6164)

发布 v1.24.4+k3s1

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

此版本恢复了在 v1.24 分支中使用 --docker 标志。有关更多信息,请参阅 docs/adrs/cri-dockerd.md

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

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

  • 将 terraform 测试放入它们自己的包中,并清理测试运行 (#5861)
  • 将 rootlesskit 升级到 v1.0.1 (#5773)
  • etcd 数据存储的初始健康检查时间已从 10 秒提高到 30 秒。 (#5882)
  • 修复了一个导致服务器节点上的 systemd cgroup 驱动程序自动配置失败的回归问题。 (#5851)
  • 嵌入式网络策略控制器已更新到 kube-router v1.5.0 (#5789)
  • 配置的服务 CIDR 现在通过 --service-cluster-ip-range 标志传递给 Kubernetes 控制器管理器。之前此值仅传递给 apiserver。 (#5894)
  • 更新了 dynamiclistener 以修复阻止证书续订正常工作的一个回归问题。 (#5896)
  • 将 v1.24.3+k3s1 提升为稳定版 (#5889)
  • ADR:弃用和删除旧标志 (#5890)
  • K3s 不再在不支持它们的内核上设置 containerd 的 enable_unprivileged_icmpenable_unprivileged_ports 选项。 (#5913)
  • 现在,有关错误对等 URL 的 etcd 错误会正确包含预期的 https 和 2380 端口。 (#5909)
  • 设置后,代理令牌值现在写入 $datadir/server/agent-token,与默认(服务器)令牌写入 $datadir/server/token 的方式相同 (#5906)
  • 已弃用的标志现在会警告将在 v1.25 中删除它们 (#5937)
  • 修复了具有 8K+ 密钥的集群的密钥重新加密问题 (#5936)
  • 将 minio-go 升级到 v7.0.33。这增加了对 IMDSv2 凭据的支持。 (#5928)
  • 将 GH Actions macos-10.15 升级到 macos-12 (#5953)
  • 添加了双栈 IP 自动检测 (#5920)
  • --docker 标志已恢复到 k3s,作为启用嵌入式 cri-dockerd 的快捷方式 (#5916)
  • 使用新成员和离职人员更新 MAINTAINERS (#5948)
  • 删除指示反向移植的复选框 (#5947)
  • 修复 terraform/testutils 中的 checkError (#5893)
  • 添加使用 ansible 运行 e2e 测试的脚本 (#5134)
  • 将 flannel 更新到 v0.19.1 (#5962)
  • 更新运行脚本 (#5979)
  • 将安装/cgroup 测试转换为基于 yaml 的配置 (#5992)
  • E2E:本地集群测试 (#5977)
  • 添加 nightly 安装 github action (#5998)
  • 将 codespell 从 Drone 转换为 GH actions (#6004)

  • 更新至 v1.24.4 (#6014)

发布 v1.24.3+k3s1

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

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

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

  • 更新 rancher/remotedialer 以解决潜在的内存泄漏问题。 (#5784)
  • 嵌入式 runc 二进制文件已更新至 v1.1.3 (#5783)
  • 修复了一个导致某些 containerd 标签在 cadvisor pod 指标中为空的回归问题 (#5812)
  • 用常规 docker 替换 dapper 测试 (#5805)
  • 将 v1.23.8+k3s2 提升至稳定版本 (#5814)
  • 修复了一个问题,该问题会导致在启用密钥加密的情况下还原使用密钥加密创建的快照时,etcd 还原失败,如果配置文件或还原命令中未包含 --secrets-encryption 命令。 (#5817)
  • 修复服务删除时 svclb DaemonSet 的删除问题
  • 修复了一个导致 ServiceLB DaemonSet 在其对应的服务被删除后仍然存在。如果在运行受影响的版本时删除了任何 LoadBalancer 服务,则可能需要手动清理 kube-system 命名空间中的孤立 svclb-* DaemonSet。 (#5824)
  • 解决 etcd 快照相关问题
  • 启用快照压缩时,计划的 etcd 快照现在会被压缩。
  • 默认的 etcd 快照超时时间已提高到 5 分钟。一次只能运行一个计划的 etcd 快照。如果在先前的快照仍在进行时发生另一个快照,则会记录错误并跳过第二个计划的快照。
  • 禁用压缩时,etcd 快照的 S3 对象现在会使用正确的 content-type 进行标记。 (#5833)
  • 更新至 v1.24.3 (#5870)

发布 v1.24.2+k3s2

此版本修复了 v1.24.2+k3s1 及之前版本中的几个问题。

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

  • 更新 kine 以修复一个问题,即在使用 sql 存储后端时,包含 metadata.name 字段选择器的命名空间列表无法返回结果。(#5795
  • 从旧版本的 Kubernetes 直接升级后或部署类型为 externalname 的服务时,K3s 将不再记录恐慌。(#5771
  • 修复了一个问题,该问题会导致当使用服务器的 --bind-address 标志或在 http 代理后面使用 k3s 时,kubectl logs 和其他需要连接到代理的功能无法正常工作。(#5780
  • 修复了一个问题,该问题导致较新版本的 k3s 无法加入没有 egress-selector-mode 支持的集群。(#5785
  • 删除 go-powershell 无效依赖项 (#5777)

发布 v1.24.2+k3s1

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

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

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

  • 清理时删除 kube-ipvs0 接口 (#5644)
  • k3s cli 中添加了 --flannel-wireguard-mode 开关以使用 wireguard 原生后端配置 wireguard 隧道模式 (#5552)
  • 引入 flannelcniconf 标志以设置所需的 flannel cni 配置 (#5656)
  • 集成测试:启动 (#5630)
  • 端到端改进和 test-pad 工具的基础工作 (#5593)
  • 更新 SECURITY.md (#5607)
  • 引入 --enable-pprof 标志以可选地运行 pprof 服务器 (#5527)
  • 端到端:双栈测试 (#5617)
  • ServiceLB 创建的 Pod 现在都位于 kube-system 命名空间中,而不是与服务位于同一个命名空间中。这允许在用户命名空间中 执行 Pod 安全标准,而不会破坏 ServiceLB。 (#5657)
  • 端到端:testpad 准备,添加备用脚本位置 (#5692)
  • 添加 arm 测试和升级测试 (#5526)
  • 在启动挂钩完成后延迟服务就绪 (#5649)
  • 禁用 urfave markdown/man 文档生成 (#5566)
  • 嵌入式 etcd 快照控制器将不再无法处理包含对 ConfigMap 密钥使用无效字符的快照文件。 (#5702)
  • 当传递给 containerd 时,以 CONTAINERD_ 为前缀的环境变量现在优先于其他现有变量。 (#5706)
  • 嵌入式 etcd 实例在重置或还原期间不再接受来自其他节点的连接。 (#5542)
  • 启用 k3s s390x 的兼容性测试 (#5658)
  • Containerd:启用 enable_unprivileged_ports 和 enable_unprivileged_… (#5538)
  • 嵌入式 Helm 控制器现在在 HelmChartConfig 资源更新或删除时正确更新 Chart 部署。 (#5731)
  • 更新至 v1.24.2 (#5749)

发布 v1.24.1+k3s1

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

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

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

  • 当对象从清单文件中删除时,它们将从 Kubernetes 中删除。 (#5560)
  • 删除错误的未版本化 etcd go.mod 条目 (#5548)
  • 将 node-ip 值传递给 kubelet (#5579)
  • 现在可以使用 --egress-selector-mode 设置集成 apiserver 网络代理的操作模式。 (#5577)
  • 从维护者中删除 dweomer (#5582)
  • 将 dynamiclistener 更新至 v0.3.3 (#5554)
  • 更新至 v1.24.1-k3s1 (#5616)
  • 重新添加 --cloud-provider=external kubelet 参数 (#5628)
  • 恢复“将 node-ip 值传递给 kubelet (#5579)” (#5636)