首页 文章 精选 留言 我的

精选列表

搜索[数字经济],共10000篇文章
优秀的个人博客,低调大师

用 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及其相关自动化的更多内容,敬请关注!)

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册