Alpine Liunx思考

在初次尝试了Alpine Linux之后,我发现这个发行版比较有特色:

  • 面向服务器,采用 Small, Simple, Secure 策略,尽可能减少不必要的软件堆栈和复杂配置,这一方面使得系统更稳定和安全,另一方面也降低了系统开销

  • 具有Debian相似的系统包管理 Alpine Linux包管理apk ,方便运维升级

在对比使用了 StandExtended 版本之后,我觉得更应使用 Extended 版本,主要依据:

  • Extended 版本只使用U盘,启动后整个系统运行在RAM中,所以除了启动稍慢(受限于U盘读写),启动后在内存中读写文件系统非常快速

  • 可以以 data 模式挂载物理主机的本地磁盘,这样持久化数据不会丢失

  • 个人测试 Studio Atlas 采用 Extended 版本Alpine Linux,可以快速恢复系统(所有配置和数据采用自己构建的 Ceph AtlasGluster Atlas 保存,本地挂载到映射目录)

  • 适合中小型数据中心使用

    • 只需要使用小容量的U盘就可以快速复制大量的alpine系统,即插即用

    • 服务器故障,只需要将U盘换到替换服务器上就可以快速恢复(适合本地无重要数据环境)

    • 重要业务数据采用 Ceph AtlasGluster Atlas 保存( 私有云架构 )

优势

Alpine Linux非常轻量级并且得到了Docker很好的支持,所以在构建 Kubernetes Atlas 上具有巨大的优势: kubernetes是构建在裸机上的采用cgruop/namespace实现的容器调度,没有复杂的虚拟化和paas化,相对较容易实现。在 How to create a Kubernetes cluster on Alpine Linux 已经有人尝试过,也许采用 kubernetes-the-hard-way 的方式,手工构建一个Kubernetes集群,是可以在alipine上实现的一个途径。

此外,考虑到完全轻量级Kubernetes+Alpine,可以参考 Install Kubernetes on Alpine Linux with k3s 实现一个简化版Kubernetes - 我准备用我古老的 树莓派Raspberry Pi 3 来构建一个k3s,实现一个超级小型的 Gluster Atlas 集群,提供持久化存储。

不足

Alpine Linux依然是一个非常小众的发行版,对于大型软件来说,例如 OpenStack Atlas 对于发行版有极大的依赖(多种组合),所以极难在这样精简的系统上完成。不过,也许是一个技术挑战,可以让你更为理解系统,并且能够彻底掌握系统。

构思

我最初准备采用Alpine Linux来构建一个 Extended 模式,在我的两台笔记本电脑上结合树莓派集群 Ceph AtlasGluster Atlas 来构建 OpenStack Atlas 集群。不过,考虑到OpenStack的复杂性,暂时没有时间精力研究。

所以,我退而求其次,在U盘运行Alpine Linux,构建一个 KVM Atlas 虚拟化环境,来运行一个超级小型的测试环境,可以运行 Windows 虚拟机和 Linux虚拟机,随时插入主机进行学习。

至于两台笔记本电脑,还是采用Ubuntu环境来构建OpenStack,学习虚拟化技术。