跳到主要内容

Alpine 基础设施

代码的工艺

Alpine Linux如何在不牺牲价值的情况下进行扩展


Alpine Linux发行版最初是一个小项目,仅由少数用户部署。今天,它已经成长为一个成熟的、现代的、轻量级的解决方案,适用于裸机和基于容器的解决方案。它是Docker容器基础设施中使用最多的发行版之一。

由于包管理器等核心工具的小尺寸和令人印象深刻的性能,由Carlo Landmeter、Kevin Daudt和Natanael Copa领导的Alpine Linux工作组收到了越来越多的关于不同硬件架构(archs)的请求。

当Docker宣布Alpine Linux为 "非官方 "的默认Linux发行版时,Arch的要求更加激增。热情的开发者们开始工作,以满足日益增长的需求。该团队最初只有资源支持x86和x86_64(amd64),但现在它提供ARM架构(32位和64位),菜单上还有ppc64le、s390x和mips64。


这种增长使Alpine Linux团队的工作量超过了它能轻易管理的范围。"在过去的几年里,我们注意到适当地维护我们的系统变得越来越困难,"卡洛说。"这些架构中的大多数都需要自己的机器,有时很难为我们的开发人员提供对所有机器的访问。其中一些架构也不常见或很难获得访问权"。

在意识到目前的设置无法持续之后,该团队决定需要做出一些改变。它转换了开发平台,并迁移到一个自我托管的GitLab实例,这使得为八个架构实施CI更容易,并在DevOps周期中使用一个工具。Alpine Linux的裸机赞助商协助为每个架构提供专门的CI服务器,这在代码质量和构建问题上产生了巨大的差异。

Alpine 随后,Linux转向Linode托管其新的基础设施理念,因为它是少数几个方便地提供Alpine Linux作为操作系统的托管供应商之一。使用Linode可以使Alpine Linux取得进展,同时仍然坚持其四个基本的基础设施原则。

  1. 吃自己的狗粮(指他们基于容器的Alpine ,GitLab完全运行在Linode基础设施上)。
  2. 防止锁定供应商。
  3. 尽可能地独立。
  4. 尽可能的透明。
Federico Nieves

"Linode有价值的功能之一是它的备份服务,它可以帮助我们轻松地生成备份并将其恢复到一个临时实例上,并在上面执行我们的GitLab升级测试。这确保我们的升级得到彻底的测试,这大大减少了停机时间。" Carlo说。

展望未来,Alpine Linux 对如何利用 Linode 支持基础架构原则有更多的想法--第一个想法是基础架构即代码。在研究了 Linode 的 APIAlpine Linux 为全自动流程制定了愿景,该流程将实施 GitLab 工作流程,并使用 CI/CD 将基础架构推送到 Linode 上的容器中。这一流程将使Alpine Linux 的开发人员能够更透明地了解当前的基础架构,也将使社区贡献变得更加容易。

有了Linode的支持和托管能力,为Alpine Linux打开了新的大门,同时使他们能够保持对其核心原则的承诺。正如Carlo所说,这是 "一个完美的匹配"。

分享这个