- ALP 将最小的、不可变的宿主机与应用程序分离,应用程序作为隔离的容器或虚拟机运行。
- 第一个 Les Droites 原型集成了全盘加密、SELinux、Btrfs 以及快照和事务更新功能。
- 该平台融合了自我管理、零接触和自我修复功能,以最大限度地减少人为干预并确保高可用性。
- openSUSE Leap 16 和 Leap Micro 将采用 ALP 作为其基础,将企业稳定性与原生容器模型相结合。
Adaptable Linux Platform (ALP)是 SUSE 下一代企业级 Linux 系统的名称,也是 openSUSE 未来的技术基础。它被定位为一个模块化、不可变的平台,高度专注于容器和虚拟机,旨在同时服务于传统数据中心、云端和边缘计算。乍听之下,这似乎只是纯粹的营销噱头,但它实际上代表着架构上的重大变革。
传统的 Linux 发行版遵循更接近传统 UNIX 模型的方法,即所有组件都共存于同一用户空间,而ALP 则主张将基础操作系统与其他组件清晰地分离,并尽可能地实现管理、安全和更新的自动化。其目标是让管理员、开发人员或企业能够专注于自身的工作负载,而不是疲于应对依赖关系、损坏的库或棘手的更新问题。
ALP(自适应Linux平台)究竟是什么?
Adaptable Linux Platform (ALP)是 SUSE 的一个项目,它通过将其划分为两个截然不同的层来重新定义其企业发行版:一个最小化的“宿主机操作系统”,负责与硬件通信并提供强大且不可变的运行时环境;以及一个封装在容器或虚拟机中的应用程序和服务层。这种分离意味着应用程序不再直接驻留在基础系统上,而是独立运行。
其核心理念是工作负载应完全独立于硬件和底层系统。借助容器(例如 Podman、K3s)和虚拟机(例如 KVM),每个服务都可以携带自身的依赖项和库版本,并与其他服务共存而不发生冲突。实际上,这使得 ALP 更接近“操作系统即服务”(OSaaS)的概念,其中支持服务的平台比操作系统本身更为重要。
ALP 利用了 SUSE 生态系统中已有的技术,例如MicroOS 和 SLE Micro。事实上,SLE Micro 正是主机系统的基础。该主机以只读模式运行,并广泛使用Btrfs 及其快照功能来管理事务性更新。最终形成了一个容错系统,即使在应用补丁或配置更改后出现问题,也能恢复到稳定状态。
在 openSUSE 生态系统中,ALP 将成为 openSUSE Leap 16 和未来 Leap Micro 版本的基础。这意味着我们所熟知的 Leap 分支将演变为一个不可变的、以容器为中心的模型,它既拥有强大的企业发行版的优势,又具备集成社区软件包的灵活性。
Les Droites:第一个 ALP 原型
“Les Droites”是Adaptable Linux平台首个公开原型机的代号。沿袭SUSE和openSUSE的传统,该名称源自阿尔卑斯山脉的一座山峰,巧妙地呼应了ALP的缩写。该原型机首次以实体形式展示了新平台的雏形,并允许用户开始测试其核心概念。
在 Les Droites,模块化的双层架构已成为现实:基于 SLE Micro 和 MicroOS 原则的极简主机系统负责硬件管理、磁盘加密、启动以及系统核心。容器和虚拟机部署在其上,包含用户服务和工具:从 GDM 显示管理器到 YaST2 和 Cockpit,所有内容都被打包成工作负载。
值得注意的是,这个首个原型机并未预装传统的桌面环境。虽然可以运行图形界面,但SUSE最初推出ALP的重点更多地放在服务器、云计算和边缘计算上。面向工作站的桌面集成将在后续版本中推出,这将是使openSUSE Leap 16等项目真正吸引桌面用户的关键。
Les Droites 还用于试验自我管理和零接触机制。该系统能够识别稳定的快照,并在更新后检测到异常行为时自动回滚。这种理念旨在最大限度地减少人工干预,这在服务即使停止几分钟也会造成严重问题的环境中尤为重要。
架构:最小化且不可变的主机+工作负载层
ALP 与“经典”SUSE Linux Enterprise 的主要区别在于基础系统和应用程序的分离。“宿主机操作系统”仅包含启动、硬件管理、机器安全以及作为工作负载根目录所必需的组件。所有传统上位于用户空间的内容——服务、管理工具、图形界面——现在都运行在容器或虚拟机中。
在这种架构中,工作负载以独立模块的形式运行:一个容器运行 GDM,另一个运行 YaST2,一个运行 Cockpit,其他容器则运行数据库、Web 应用程序等等。每个模块都有其自身的依赖项,并且可以进行更新、重启或替换,而不会影响系统的其他部分。这极大地简化了常见问题,例如库冲突(例如,同一系统上存在不同版本的 Python、Java 或 Node.js)。
为了促进这种共存,SUSE 引入了多版本软件栈的概念。通过将组件隔离在容器中,可以同时运行同一工具的多个版本,每个版本都有自己的库和配置。这些软件栈的基础以基础容器镜像 (BCI) 的形式分发,这些基础容器镜像由 SUSE 维护,用户可以随时使用这些镜像构建自己的环境,而不会破坏其他任何内容。
从运维角度来看,这种分离使管理员能够专注于工作流程而非系统维护。主机几乎保持静止状态,以事务方式接收安全补丁和功能增强,而应用程序则使用编排工具进行部署、更新和扩展。
此外,ALP从一开始就采用开放式开发模式:中间版本和测试结果都会公开,以便任何人都可以跟踪开发进程、测试新功能并提供反馈。这与SUSE Linux Enterprise早期较为封闭的开发方式截然不同。
关键技术:容器、Kubernetes 和虚拟化
容器是自适应 Linux 平台 (ALP) 的基石之一。SUSE 使用Podman作为其主要运行时来执行容器,Podman 是一种无需守护进程的 Docker 替代方案,并保持与 Docker 工具和格式的兼容性。Podman 能够高效地执行隔离容器,既可用于系统服务(例如 GDM 或 YaST2),也可用于用户应用程序。
在集群和边缘计算领域,ALP 集成了 K3s,它是一种轻量级的 Kubernetes 发行版。K3s 已通过 CNCF 认证,专为资源受限的环境而设计,例如物联网、边缘设备或需要编排但不需要“经典”Kubernetes 全部功能的小型部署。从 Web 应用程序到实时分析系统,所有类型的工作负载都可以部署在 K3s 上。
虚拟化也发挥着重要作用:KVM 用于运行需要更高隔离度或与 Linux 以外的操作系统兼容的虚拟机。这为容器和虚拟机在同一平台上共存并进行集中管理的混合场景打开了大门。
在更广泛的 SUSE 生态系统中,ALP 与其他解决方案相辅相成,例如 Rancher、Harvester、Longhorn 和 NeuVector。Rancher专注于 Kubernetes 集群管理,Harvester 专注于融合的虚拟机和容器基础设施,Longhorn 专注于分布式存储,而 NeuVector 则专注于容器的全生命周期安全。虽然它们并非核心系统的直接组成部分,但它们可以与 ALP 无缝集成,为寻求强大云原生堆栈的企业环境提供支持。
安全性:加密磁盘、SELinux 和数字信任
安全性是 SUSE 在自适应 Linux 平台 (ALP) 中最为重视的方面之一。ALP 从一开始,Les Droites 版本就默认启用全盘加密 (FDE)。密钥可以利用可信平台模块 (TPM) 来增强安全性,并方便在启动过程中进行安全解锁。虽然当前的加密方案并非最终版本,但它为社区测试和改进奠定了基础。
另一个重要组件是SELinux,它默认作为活动安全模块包含在内。在原型系统中,为了避免影响测试,它被配置为宽松模式,但未来可以以严格模式运行,提供类似于 RHEL 和 Fedora 中已使用的强制性访问控制策略。借助 SELinux,即使某个进程遭到入侵,系统也能限制其权限。
该平台高度重视供应链安全和合规性。SUSE 指出,超过 88% 的组织在过去一年中都经历过与云相关的安全事件,数据保护,尤其是在 AI/ML 平台上的数据保护,正受到持续的关注。因此,该平台专注于高级认证、实时补丁机制以及集成的可观测性和合规性工具。
此外,ALP 的不可变架构提供了一层额外的保护:根分区以只读方式挂载,在正常运行期间保持不变。任何重大更改都通过事务性更新进行,从而生成新的 Btrfs 快照。如果出现问题,系统可以回滚到之前的快照,最大限度地减少配置错误或漏洞利用的影响。
更新、自助管理和零接触
ALP 使用基于 Btrfs 和事务更新的原子更新模型。与其他不可变系统解决方案(例如 Fedora Silverblue (ostree) 或 Ubuntu Core (snap))不同,它仍然使用“普通”的包管理器,但修改会应用到文件系统的快照上。重启后,系统会以新状态启动;如果检测到问题,则会回滚到之前的稳定快照。
该机制结合了自我管理、自我更新和自我修复功能。系统可以根据预设策略进行编程,自动安装补丁:从包含安全补丁的常规更新,到仅安装安全补丁或仅安装关键修复程序,再到仅下载补丁并要求手动安装,甚至可以完全禁用自动更新。
关于自愈能力,ALP 可以在系统变更后检测到异常行为,并自动恢复到上次已知的稳定状态。这正是 Btrfs 快照以及 Snapper 等工具发挥作用的地方,这些工具继承自 Leap Micro 和 Microsoft OS。其理念是让系统从设计之初就具备弹性,这样我们就无需在每次更新出错时手动“修复”系统。
零接触理念超越了简单的自动更新。它旨在使平台能够在极少管理员干预的情况下完成部署、配置和运行——这在边缘设备或分布式安装等大规模部署场景中尤为重要,因为这些场景通常没有现场技术人员。在这种情况下,ALP 的目标是成为“操作系统即服务”模式的基础。
实时内核补丁、高可用性和这些自我管理功能的结合旨在确保工作负载始终可用且安全,满足最苛刻的业务标准和安全法规。
管理和自动化工具
使用systemd进行集中管理和服务管理是 Adaptable Linux Platform (ALP) 的关键组成部分。Les Droites 预装了 Salt 作为主要的配置管理解决方案,而 Ansible 则可从软件仓库中获取,供偏好此方法的用户使用。这使得您可以为大量 ALP 机器定义所需状态,并以可控且可复现的方式应用更改。
在更广泛的 SUSE 生态系统中,SUSE Manager被集成为一个用于管理异构 Linux 基础架构的平台。4.3.6 版本支持超过 15 种不同的发行版,包括 SUSE 自家的发行版以及 Rocky Linux 和 AlmaLinux 等 RHEL 衍生发行版。SUSE Manager 还计划在 AWS Marketplace 上以按需付费服务的形式提供,从而实现基于云的基础架构管理,并提供统一计费和按需扩展功能。
对于缺乏时间或内部专业知识的客户,SUSE 提供包含订阅、服务和培训的打包解决方案,作为这些工具的补充。此外,SUSE 还提供针对 SAP 环境的特定产品,这些产品提供高级可观测性功能、自动组件发现(服务器、云实例、SAP HANA 数据库、NetWeaver 集群等)以及持续的高可用性检查和修复建议。
即使在技术支持领域,SUSE 也引入了人工智能技术,推出了 Rancher Prime AI 助手,为客户提供实时自动化帮助,用户还可以通过 Slack 访问该助手。Rancher Prime 利用 OpenAI 等生成式人工智能技术,旨在改善自助服务体验,并提供准确的答案,无需用户花费数小时查阅文档。
ALP、openSUSE Leap 16 和 Leap Micro
openSUSE 正在向自适应 Linux 平台 (ALP) 过渡,ALP将成为其新的技术基础。为了争取时间,避免仓促完成变更,社区发布了 openSUSE Leap 15.6,甚至在必要时考虑发布 Leap 15.7,以进一步延长当前分支的生命周期。但目标很明确:openSUSE Leap 16 将是第一个基于 ALP 的版本。
据项目团队介绍,Leap 16 将融合先进企业系统(源自 SUSE 的 ALP)的优势,以及 Leap 系列标志性的用户友好型维护和安全模型。其目标是在传统 Linux 发行版和前沿技术之间取得平衡,并在一个不可变的、以容器为中心的平台上有效地集成社区软件包。
与此同时,Leap Micro 6.0 将升级到 ALP,并将基于 SUSE Linux Enterprise Micro 6.0。Leap Micro 是不可变版本,主要专注于容器和虚拟化工作负载,官方目标并非作为桌面系统,而是作为云原生基础设施和服务的平台。
openSUSE 深知如此大规模的架构变更可能会令人望而生畏,因此承诺会提供清晰的迁移路径和充足的升级时间。如果 Leap 16 延迟发布,将会延长对 Leap 15.6 的支持,或者发布 15.7 版本,以确保在旧版本生命周期结束和新版本发布之间不会出现断档。首要任务是尽可能平稳地过渡到 ALP。
除了技术层面,社区还参与了关于 openSUSE 未来发展的调查,表达了他们对开发、部署和更新模式的偏好。这些调查收集了三百多份回复,其结果有助于指导如何在尽可能保留 Leap 用户习惯的体验的同时,整合 ALP。
背景、用例和实际优势
推动 ALP 等平台发展的很大一部分原因在于经典的操作系统问题:依赖地狱、棘手的更新以及保持服务始终可用的需求。任何曾为不兼容的库版本(例如,一个程序使用 libA 1.x,另一个程序使用 libA 2.x;Python 模块之间存在冲突的依赖项等等)而苦恼过的人都明白我们的意思。
在 openSUSE 等发行版中, zypper 和 update-alternatives等工具可以帮助管理版本,而 Python 等语言则提供了隔离依赖关系的虚拟环境。但是,一旦我们将规模扩展到几十甚至几百个服务,或者扩展到分布式基础设施,要保证所有服务平稳运行而不出现频繁故障就变得非常复杂。这就是为什么使用容器和虚拟机作为部署单元变得如此流行的原因。
举个简单的例子:拥有多个配置不同的 Firefox 版本。你可能需要一个“普通”的 Firefox 用于日常使用,而需要一个功能更强大的版本来处理高负载任务。借助容器,你可以轻松构建一个或多个独立的环境,无忧地测试各种配置,并在不再需要时将其销毁,而不会影响系统的其他部分。
另一个典型例子是部署数据库、Web应用程序或Nextcloud等套件等服务。借助Docker或Podman,您可以相对轻松地逐版本地设置数据库、应用服务器、反向代理以及整个软件包,而不会干扰其他服务。ALP更进一步,还能处理容器化工作负载等“系统”组件。
最后,对于需要其他操作系统的软件,例如AutoCAD 或其他 Windows 应用程序,KVM 虚拟机仍然是标准选择。ALP 与此方法集成,允许虚拟机和容器在同一台不可变主机上共存,同时保持对资源、隔离和更新的精细控制。
总体而言,ALP 被视为应对诸多实际挑战的现代化解决方案:简化部署、提高故障恢复能力,并在无需管理员持续干预的情况下提升安全性。对于公司而言,这意味着可以减少在系统维护上花费的时间,从而将更多精力集中在真正创造价值的应用和数据上。
SUSE 的全新自适应 Linux 平台及其在 openSUSE 中的应用,预示着一个生态系统的诞生:操作系统将成为一个强大、自管理、安全且几乎隐形的平台,在此基础上,可以大规模构建可移植、隔离且易于管理的工作负载。如果转型顺利进行,并且 openSUSE 特有的灵活性和用户友好性得以保持,那么最终成果将成为一个极具吸引力的 Linux 平台,尤其适合那些从事容器、云计算和边缘计算的用户,同时在需要时也能提供传统的环境支持。
对字节世界和一般技术充满热情的作家。我喜欢通过写作分享我的知识,这就是我在这个博客中要做的,向您展示有关小工具、软件、硬件、技术趋势等的所有最有趣的事情。我的目标是帮助您以简单而有趣的方式畅游数字世界。