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