简单的说一下目前自己家里的网络状态,家里目前有以下设备
目前是市电直接连到 ups,ups 再给以上所有设备供电,包括我的笔记本显示器什么的低用电量设备
为什么需要 ups,因为之前家里经常莫名短暂断电,为了可以少重新启动所以就买了 ups,可以保证在市电断了的情况下还可以续电 30 分钟
网络很简单,宽带从新路由进,之后直连到各个设备,所有设备一个网段,具体的可以看下面这张图
目前,当你们访问我的服务,比如访问我的 ip 查询服务时
curl ip.bboy.app
你们会直接访问到我在国外的服务器,为什么是国外,因为这个域名我是没有备案过的,所以你懂的, 之后通过 frp 转发到我的树莓派上的 frp 客户端,最后请求转发到树莓派的 docker swarm 集群上 swarm 集群是使用 traefik 做网关的,为什么使用 traefik 呢,最主要的原因就是它的服务发现功能,如果用 nginx 我还要使用到 consul,这就很烦躁了 所有的容器在树莓派上是不保存任何数据的,数据都是使用 nfs volume 保存在我的蜗牛星际上的,蜗牛星际上的系统我也折腾过几个,最开始是使用 centos,自己直接组的软 raid,但是没有一个可以自己简单操控的 web 界面,不能很方便的看到系统状态,所以我换成了 freenas,但是 freenas 最起码是要 8g 内存的,一直用得很不稳定,最后就换成了 openmediavault,一直用到现在,你别说,这个真的挺稳定的
目前所有的 service
➜ traefik docker service ls
ID NAME MODE REPLICAS IMAGE PORTS
sfnmqfxmin0u gogs_gogs replicated 2/2 gogs/gogs-rpi:0.11.91
wltu0mnnauya ip_ip replicated 2/2 ip:1
j0qh3fvho9w8 mariadb_mariadb replicated 1/1 linuxserver/mariadb:110.4.12mariabionic-ls55
00ya6lti5ljh portainer_agent global 4/4 portainer/agent:latest
q3is8sb4p4bz portainer_portainer replicated 1/1 portainer/portainer:latest
nrl4cv7ej8me traefik_traefik global 3/3 traefik:v2.2 *:80->80/tcp, *:8080->8080/tcp
为什么不在树莓派上使用 k8s,这个说实话,我用过,但是特别不爽,最主要的原因是树莓派性能不够好
刚开始我是使用原生 kubeadm 去搭建的集群,后来发现当你把所有的服务都启动好之后,你根本跑不了什么东西,当然如果你使用的是 4b 是完全可以使用 k8s 的,
之后我就换成了 k3s,但是在我搭建 k3s 的时候,k3s 那时候是不支持高可用的,要自己手动用单独的数据库搞高可用,这个又很烦躁,但是听说 1.0 之后的 k3s 是支持高可用了的,所以有条件的小伙伴可以试试
之后我会再增加 4 个树莓派 4b 的 swarm 节点,今天算了一下价格,大概要 1800 多块钱,又是一笔大出血,然后我会把我的博客
www.bboy.app
迁移到我的树莓派 swarm 集群上,之后会再增加一些服务上去,比如 telegram 机器人相关的一些服务什么的
当有钱之后换一个更好点的 nas,然后把原来的 4 个 3B 节点淘汰了,家里换成千兆网络
我会在我博客上去更新我的树莓派 swarm 集群搭建时候的流程等一些小东西,有兴趣的同学可以关注下我的博客
www.bboy.app
当然你也可以加入 tg 群一起交流
欢迎关注 Bboysoul 的博客www.bboy.app
Have Fun
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.