用 Docker 在卡片机上打造经济、高效的家用服务器集群(一)
本文首发自“Docker公司”公众号(ID:docker-cn)
编译丨小东
每周一、三、五 与您不见不散!
背 景
我花费了很多的时间和精力来打造我的“家庭版实验室”,可能有点过多,但是我真的非常喜欢它。我一直想拥有一些面向公众的网站和端点,那样我就可以与大家一起玩、一起分享。同时,我也希望这个“家庭版实验室”能够自动更新,因为我不想花费大量时间手动部署应用程序。更重要的是,我不想在闲暇时花费很多金钱与时间在更新应用程序上。所以我制作了这个教程,帮助大家打造一个属于自己的、自动化的“家庭版实验室”。
下列4项就是我对“家庭版实验室”的要求:
- 代码更改时自动更新;
- 配置更改时自动更新;
- 易于扩展和规模化;
- 便宜;
我从一台总共拥有2 GB 内存的 Pine64 服务器开始起步,用它运行了4到5个容器。在编写这篇教程的时候,这个堆栈已经有3台服务器了,并且托管了超过30个容器。没错,我要炫耀一下。
如果对我的“家庭版实验室”感兴趣,您可以在 demo.viktoradam.net 中看到它。同时,您也可以继续关注我们的公众号,我会为大家持续更新这个系列教程。
物理服务器
目前的设置有2台 Pine64 卡片机和一台来自同一制造商的 Rock64 卡片机,它们都是64位ARM服务器。总的来说,我现在拥有12个CPU核心,7 GB内存来帮助我运行所有服务。它们都是功能强大的卡片计算机,每台卡片机只有15-45美元(根据内存的大小)。(PS:国内售价200-300元/台)
Rock64 卡片机
Pine64 卡片机
您可以在卡片机上运行不同版本的Linux。我选择使用Ubuntu的衍生品—— Armbian 。 因为Armbian 只对少数几个在arm64 / aarch64架构上的系统提供官方支持,而Ubuntu就是其中之一,对于Docker来说这一点尤为重要。使用 Armbian 意味着安装和升级 Docker 都会变得非常简单:
$ curl -fsSL get.docker.com | sudo sh
对于我目前所使用的应用程序来说,这些卡片机的性能似乎很好。当内存开始变得不够用时,我可以再订购一台卡片机并将其添加到集群中。上次我花费了大约30分钟(包括下载基础镜像并将其写入SD卡的时间)就将它设置好了。
集 群
我希望我的服务能够使用所有可用的服务器,我并不在意是否要最大限度地使用它们,只要应用程序以合理的方式分布在服务器之间就可以了。我还希望避免为服务器端点捆绑 IP 地址来保持动态和便携性。对于这个用例,Docker 和 Swarm 堆栈提供了莫大的帮助。
将所有应用程序打包成 Docker 镜像,并且以容器的方式运行它们,使应用程序更具便携性。我甚至为多个处理器架构( amd64 、 arm 和 arm64 )来构建它们,所以在未来如果我想的话,就可以在 Raspberry Pi (树莓派)或 x86 NUC 上运行它们。Docker 为我们提供了一套统一部署应用程序的方式(不管应用程序使用的是什么编程语言,或需要什么依赖关系)。
Docker Swarm 负责集群逻辑。一个节点是领导者,加入的新节点就像:
$ docker swarm join --token SWMTKN-1-abcd-efgh 192.168.1.1:2377
所有应用程序都作为在 YAML 文件中描述的 Swarm 服务来运行。这使得我可以定义它们的运行时属性、定义作为环境变量的配置和定义其它元数据标签。添加一个新的应用程序就像在这个文件中定义它的名字、镜像和设置一样简单,然后再次部署堆栈就可以了。实际部署是自动化的,相关服务(如反向代理和监控)会自动重新配置。
这一切都意味着,无论何时更新堆栈或其中的应用程序,所有东西都会在“git push”之后自动处理。这真的是太酷了!
(PS:在这个系列教程的后续部分,会有Docker及其相关自动化的更多内容,敬请关注!)

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
浦东政务的“云”之路
云计算已不算新事物,政务云应用也已经遍地“开花”。在当前的信息化建设领域,上不上“云”不是问题,怎样上才是用户关注的核心。 上海浦东,一个现代都市的典型代表,在云计算大潮中当然不落人后。2015年浦东正式启动了政务云建设,借助云计算的“东风”,来解决区内政府各部门信息化建设的“各自为政”的隐患,从而为浦东新经济构筑塔基。 在选择解决方案时,负责具体建设工作的浦东经信委项目筹建小组进行了反复权衡,调研了多个省市政务云项目,并对各家厂商的解决方案进行了多次评审,最终新华三集团提供的全套的云计算解决方案从国内外12家云厂商中脱颖而出。 政务IT资源“集约化” 在日积月累之下,浦东政府电子政务建设已经颇具规模。政府各职能部门都配备了信息化相应的管理人员,拥有各自的数据库、各自的操作系统、独立的应用软件和用户界面,比较大的委办局还设立了信息中心。据调查统计,截至2015年全区正常运行的信息系统共有245个,在建项目62个。这些系统由分布在各部门应用服务器的6981核CPU、18771G内存、573T硬盘和98台共计1463T的专业存储设备来承载。 但是另一方面,这些系统相互独立,缺乏统一的规划和...
- 下一篇
飞天技术汇“2018云栖大会·上海峰会”专场,等你加入
智能制造是中国传统企业面临的重大课题,如何正确处理企业智能转型过程中出现的各种问题,如何顺利完成传统制造业的数字化革命,云计算的智能化解决方案将为观众提供全新的思路。 在飞天技术汇“2018云栖大会·上海峰会”专场上,阿里云专家将重点针对金融、信息和制造等行业,从弹性计算、存储、网络、数据库、CDN产品的技术角度,为观众深入剖析云上智能如何推动中国企业数字化转型。 2018云栖大会·上海峰会,等你加入! 时间:2018年6月7日地点:上海世博中心 彭亚雄 阿里云产品专家弹性计算块存储企业级ServerSAN产品(Apsara Disk+)全面解析Complete Iterpretation of Apsara Disck+, Enterprise Level ServerSAN Product of ECS Block StorageA
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2整合Redis,开启缓存,提高访问速度
- CentOS7,8上快速安装Gitea,搭建Git服务器
- SpringBoot2配置默认Tomcat设置,开启更多高级功能
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Springboot2将连接池hikari替换为druid,体验最强大的数据库连接池
- Docker快速安装Oracle11G,搭建oracle11g学习环境