
Sidero Labs一直在开发Talos Linux,这是一款专为运行 Kubernetes 而设计的不可变操作系统,同时他们还开发了集群生命周期管理平台Omni。InfoQ 在 2025 年TalosCon大会期间于阿姆斯特丹采访了 Sidero 团队,并探讨了他们如何通过极简主义和安全优先的设计理念来简化 Kubernetes 操作工作。
Talos 的理念源于对企业环境中传统操作系统的实际不满。在与大型企业合作的过程中,团队遭遇了为了证明系统安全性而必须经历的冗长年度审计流程。这段经历促使他们得出一个根本性认识:若核心目标是运行 Kubernetes,为什么团队需要管理整个操作系统的复杂性?
团队阐述了他们的理念:
该团队解释了他们的理念:
我们基本上就是想到了一个想法,那就是当我们想要做的只是运行 Kubernetes 时,我们根本就不应该关心操作系统。不可变的想法就是从这里来的,能够改变的东西越少,出错的可能性就越小。
Talos 采取了一种激进的方法来实现这个目标:剥离 Linux 内核上的所有东西,用Go编写用户空间,只实现足够的功能来运行kubelet。从操作的角度来看,这意味着当 Talos 启动并开始运行时,它就会继续运行,不会出现传统操作系统可能发生的意外故障。
尽管 Talos 采用了极简主义的设计,但它通过战略性的架构决策保持了灵活性,团队强调他们致力于提供纯上游 Kubernetes,并在每个版本上进行全面的一致性测试。虽然 Talos 对如何在底层部署 Kubernetes 做出了固执己见的决定,但用户仍然可以完全控制他们的 Kubernetes 集群。系统扩展允许用户构建支持特定硬件要求的定制版 Talos,而不会影响核心不可变设计,确保用户不会受限于缺乏必要驱动程序的僵化操作系统。
在谈到该战略时,Sidero 的管理团队表示,产品的战略主要围绕两个互补的产品:
我们的目标是继续扩大对不同类型硬件的支持,并继续加强 Talos。
该团队还概述了 Omni 在未来 12 个月的发展方向,特别关注基础设施供应商。目前,裸机、Kubevirt和Oxide都有配置程序,目的是消除集群配置工作流程中对Terraform等单独工具的需求。我们的愿景是实现 Omni 的直接 VM 配置,然后是自动 Talos 部署和集群形成,在通常无法实现这种简单性的环境中创建团队所说的类似云的体验。
Talos 在零售、工厂自动化和机器人领域的边缘计算中得到了广泛采用,促使团队探索一种基于设备的模型,该模型可以提供经过认证的硬件,具有针对边缘部署优化的单节点、可调度的 Kubernetes 环境。这些用例——从运行销售点和库存系统的杂货店,到运营网络亭的赌场和管理分布式边缘节点的运输系统——共享共同的架构模式,其中边缘设备向中心化的 Kubernetes 集群报告,这些集群与数据中心通信,以实现跨环境的无缝协调。该平台支持特定于边缘的功能,包括安全可信引导、现场数据加固和通过 Omni 集中管理。它的安全态势包括每个构建的完整的软件材料清单(SBOM)集成、已签名的提交、完全可重现的构建,以及与 CIS 基准和 SELinux 执行的一致性。这些措施有利于 Talos 遵守欧盟网络弹性法案(Cyber Resilience Act)等新兴法规。
Sidero 通过一种独特的自下而上的策略建立了它的社区,在这个策略中,爱好者们首先发现用于个人家庭实验室项目的 Talos,逐渐发展出深入的专业知识,然后在他们的专业组织中支持它的采用——这种模式非常成功,以至于该公司雇佣了展示卓越平台知识的社区成员。该团队仍然致力于为业余爱好用户和家庭实验室爱好者提供出色的体验,理解企业采用通常来自公司内部的个人倡导。当他们继续这种基层方法的同时,他们现在也在追求直接的企业拓展,预计这两种策略会自然地融合在一起,因为企业会发现他们现有的员工中已经有了 Talos 专家。
Talos 进入了一个不断增长的不可变的、容器优化的操作系统领域,包括 AWS 的Bottlerocket和Flatcar Linux,但通过其对 Kubernetes 的单一关注占据了独特的地位。虽然 Flatcar Linux 保留了 SSH 访问,并允许运行时修改,如动态加载内核模块,但 Bottlerocket 支持多种协调器,包括EKS和ECS,拥有超过 250 个二进制文件。Talos 追求激进的极简主义,只有 12 个二进制文件,并完全移除了SSH,以 API 驱动的管理取而代之。Bottlerocket 以 AWS 为中心的方法和针对不同环境的多个“变体”与 Talos 的设计形成对比,后者旨在在任何运行 Kubernetes 的地方运行,使用可组合的系统扩展,这些扩展在添加必要能力的同时保持不变性。
这些差异反映了根本不同的设计理念:Flatcar 旨在通过熟悉的管理模式实现容器优化,Bottlerocket 针对云原生容器编排提供广泛的工作负载支持,而 Talos 则通过专注于 Kubernetes 来追求最大程度的简化。
原文链接:








评论