使用声明式 YAML 部署家庭网络所需应用,如路由器、家庭影院、监控系统、离线下载工具等。
所有应用都声明式部署,可以轻松叠加所需新功能和应用,换设备或者重新装机后,能够一键部署所有应用,不需要那么多繁杂的步骤。对于熟悉 k8s 的小伙伴们,这是得天独厚的优势,也是一个不错的落地实践的机会。
折腾云原生家庭网络的本质就是在一台软路由机器上,使用云原生的方式部署家庭网络所需的各种应用。
对于软路由安装的操作系统,网上很多软路由方案使用 OpenWRT、LEDE、iKuai、RouterOS 等软路由专用系统。而我们这里使用云原生方式部署,那就需要用主流的 Linux 发行版,一方面对 k8s 适配好,另一方面,熟悉云原生的小伙伴基本都对主流 Linux 发行版比较了解,不需要学习软路由专用的那些操作系统,降低学习成本。对于硬件,一般可以选购软路由专用的工控机盒子,也可以用树莓派来 DIY。
我选择使用 Ubuntu 作为家庭网络的操作系统,因为该 Linux 发新版用户量很大,内核和软件包都可以用比较新的,对容器的支持也很好,最重要的是本人对 Ubuntu 比较熟悉。
主要分为主路由和旁路由两大类方案。
主路由方案是软路由机器安装 Ubuntu,上联光猫,光猫开启桥接(关闭路由功能),由 Ubuntu 来做 PPPoE 拨号上网和路由,其它的家庭所需应用都使用云原生的方式部署在 Ubuntu 里,包括 DNS 缓存、DHCP 服务、防火墙以及其他应用。
旁路由方案相比主路由方案,对于 Ubuntu 来说,只是没有了 PPPoE 拨号、DNS 缓存、DHCP 服务、防火墙等功能,其余的也都还是用云原生的方式部署在 Ubuntu。只是还需要有一个主路由,可以用单独的路由器机器,也可以启用光猫自带的路由功能(对于有大带宽的需求不推荐,因为通常光猫的路由转发能力较弱):
还可以直接在软路由机器里使用 EXSI 这种虚拟化操作系统,在里面虚拟两个操作系统,一个 RouterOS 或 OpenWRT 作为主路由,另一个 Ubuntu 作为旁路由,形成“双软路由”(本人一开始也是这种方案,后来不用了,因为需要引入太多的系统和配置步骤,重新装机时很麻烦,违背了云原生一键部署的初衷)。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。