K0s 1.34 发布
k0s 1.34 版本现已发布,本次更新在 Windows 节点支持、IPv6 单栈自动化(Alpha)和构建可复现性方面带来了重要改进。该版本继续致力于打造一个适用于生产环境的、简洁且一致的 Kubernetes 发行版,优化 Linux 和 Windows 环境的使用体验。
Kubernetes 1.34 新特性
上游 Kubernetes 1.34 提升了稳定性和可观测性,主要亮点包括:
- Pod 生命周期改进:Windows 节点的优雅关闭处理,改进的 Job Pod 替换策略,以及更细粒度的容器重启规则。
- 动态资源分配(DRA)GA:结构化分配 GPU、TPU、网卡等设备,增强监控和优先级管理。
- 网络增强:Windows kube-proxy 支持直接服务器返回(DSR),降低负载均衡器延迟和负载。
- 卷和存储更新:VolumeAttributesClass GA 和卷扩容失败恢复功能,提高灵活性和可靠性。
- Pod 级资源管理(Beta):定义跨多个容器共享的 Pod 总资源,简化调度。
- 容器生命周期钩子:PreStop/PostStart 钩子支持稳定的 Sleep 操作,改善生命周期管理。
- 流和缓存改进:流式 LIST 响应和稳健的 watch 缓存初始化,减轻内存压力,提高 API 服务器性能。
- 安全增强:Pod 证书用于 mTLS 认证(Alpha)、变异准入策略(Beta)和更严格的匿名请求控制。
k0s 1.34 新特性
本次发布聚焦四大领域:IPv6 网络、Windows 稳定性与集成、功能门控和开发者自动化。
Windows 节点改进
虽然 Windows 支持尚未完全进入生产,但本版本中持续完善了节点生命周期、进程管理和集群一致性:
- 优化 kubelet 进程在节点关闭和重启时的清理,防止遗留进程。
- 增强 Windows 服务停止处理,确保 kubelet 在 SIGTERM 等事件下正常退出。
- 新增针对 Windows 工作节点配置的语义校验,防止无效配置生效。
- 修复工作运行时目录初始化中的路径解析问题,确保 Windows 主机设置稳定。
- 改进 Windows 容器的 CRI 运行时连接管理,减少启动失败。
- 验证混合 Linux/Windows 集群的双栈网络配置。
- 确保 Calico Windows 组件兼容新的 IPv6 和安全上下文变更。
- 优化基于 PowerShell 的代理二进制及运行时依赖打包脚本。
- 加强跨平台符合性测试,确保 Linux 与 Windows 节点行为一致。
这些改进显著提升了 Windows 工作节点的稳定性,为混合集群运行打下坚实基础。
IPv6 单栈支持
k0s 1.34 引入了 IPv6 单栈集群的 Alpha 支持,适合现代或受限环境部署。此前 k0s 仅支持 IPv4 单栈和 IPv4/IPv6 双栈。IPv6 单栈下,k0s 的所有功能均已实现,包括 Calico 和 kube-router 支持、NLLB、CPLB 等。
功能门控
新增 k0s Feature Gates,允许在不改代码的情况下选择性开启实验性功能,便于新功能的控制测试和验证。目前唯一的功能门控是针对 IPv6 单栈。
核心组件更新
- Kubernetes 升级至 v1.34.1
- CoreDNS 更新至 v1.13.1
- etcd 升级至 v3.6.5
- Helm 更新至 v3.19.0
- Calico 升级至 v3.29.6
- Kube-router 升级至 v2.6.1
- Go 运行时更新至 v1.24.8
- containerd 升级至 v1.7.28
- runc 更新至 v1.3.2,提升安全性和性能
CLI 和配置改进
- k0s kubeconfig create 新增 --context-name 标志,支持多集群更灵活配置。
- 加强 Linux 和 Windows 工作节点配置验证。
- 优化集群初始化中的错误报告和锁机制。