简介
简单的说一下目前自己家里的网络状态,家里目前有以下设备
- 新路由
- 4个树莓派(2个2B,2个3B+)
- 蜗牛星际
- 一个小型ups
- 一个迅雷的玩客云
电源连接方面
目前是市电直接连到ups,ups再给以上所有设备供电,包括我的笔记本显示器什么的低用电量设备
为什么需要ups,因为之前家里经常莫名短暂断电,为了可以少重新启动所以就买了ups,可以保证在市电断了的情况下还可以续电30分钟
网络架构方面
网络很简单,宽带从新路由进,之后直连到各个设备,所有设备一个网段,具体的可以看下面这张图
没错,最核心的是在于4个树莓派还有蜗牛星际就是我本地的半生产环境,为什么说半生产,因为目前我还在做很多的测试,对于我来说4个树莓派的性能目前还是不够的
目前,当你们访问我的服务,比如访问我的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群一起交流
https://t.me/bboysoulcn
欢迎关注我的博客www.bboy.app
Have Fun