请教下, 全国各地地方的服务器如何集中管理, 大概 100 多台,详细如下

13 天前
 skyrim61

请教下 v2 的大佬们, 我们有套产品 开发架构是基于传统的 LNMP 架构(ubuntu20 系统上), 需要在客户电脑上部署这套系统, 另外带上 OCR 识别 python 程序 此类客户分布在全国各地到处, 目前大概有 100 多台(每台都分散在各个地方), 由于客户电脑都是在厂地, 是不可能每个电脑都有公网 IP 地址的 如何集中管理? 如何做配置文件更新? 代码更新? 各个服务器系统监控, 业务监控如何展开? 每个厂地的服务器情况不可控制, 随意开关机, 每次关机, 推送的更新无法及时收到, 导致开机运行报错.等等等

2437 次点击
所在节点    程序员
45 条回复
skyrim61
13 天前
根本忙不过来
Bisn
13 天前
没有固定 ip 麻烦,考虑 ipv6 ? 找一些兼职帮忙维护
kuokuoa
13 天前
内网穿透,每个电脑装 zerotier ,他只要保证有网就行不需要公网 IP 。可以自建中转节点你有公网 IP 就行
yekern
13 天前
把 代码和 OCR 封装成 docker 镜像, 然后 搞一个 client, 用于管理管理一些脚本或者命令 拉取镜像 重启服务 等等, client 连接 你们中心服务器 socket 或者 或者 定时每分钟拉取一次配置 随意, 剩下的就是你们这边 通过中心给每个客户 自定义配置文件, 或者自定义镜像 或者使用公用镜像了. 其实跟 K8s 差不多应该. 不过 docker 镜像 应该自建一个私有服务器
swulling
13 天前
装向日葵之类软件的企业版,再加上 tailscale/zerotier 就行了,双保险。
Songxwn
13 天前
frp 吧
cppc
13 天前
frp 把 ssh 打通,或者楼上的方案用 直接用 zerotier ,tailscale 把网络打通。后者统一管理方便,但数量上去了可能需要付费。
另外因为网络打通了,就有了远程管理的可能性,所以实际上解决网络问题。
clf
13 天前
搞个定时任务和脚本,在各个设备上请求你们自己的服务器,每天向你们的服务器请求,检查版本号、激活授权、配置信息啥的?
Hopetree
13 天前
意思是你要远程管理客户的内网环境?先不说方案吧,你确定这种过得了客户的安全审计吗?说白了就是内网穿透或者局部组网就能解决的事情,但是客户能同意这种玩法吗,我表示很不理解
clf
13 天前
@clf 额外的,开机前先执行这个脚本检查通过后再启动,如果检查有更新就主动更新?
nicholasxuu
13 天前
@clf #8 +1 ,他们没有外网 IP ,你不好请求它们,那就让他们来请求你呗。
每分钟跑一下 cronjob 都行,平均下来也就 2qps 。
黑别人服务器的黑客就这么干的,放个脚本和 cronjob 在别人服务器里,每隔一段时间去请求黑客自己的服务器,下载 sh 脚本后执行。
然后你服务器里还能统计一下请求者信息,看谁没来打卡请求,就判定为掉线什么的。
skyrim61
13 天前
世界是一个巨大的草太班子, 我们客户都是类似个体户多点, 没有 500 强. 所以安全什么的, 不用考虑, 一般也没谁来黑吧, 没啥价值,
skyrim61
13 天前
其它部门同事说, 今年可能会到 200 台. 这块业务增长迅速. 数量上去了, 维护起来越来越吃力
skyrim61
13 天前
对了, 我们系统本身还是要有一定加密, 防止破解的需求 .
skyrim61
13 天前
总之, 对自己挺有挑战的, 毕竟能遇到各种想不到的问题
kamin
13 天前
用阿里云或者腾讯云,买最便宜的套餐,按流量计费,然后用 wireguard 组网。这样就能互通了,就是内网互通流量会走阿里云或腾讯云的云服务器。
我们就是这样做的
https://imgur.com/a/s0nui8e
然后客户机 cron 加入保活脚本,定时 ping vpn 网关,如果 ping 不通,客户机重新连接
https://imgur.com/a/2alCC4n

`
#!/bin/sh
ping_monitor()
{
ping -c 3 -i 0.5 -W 1 $1 > /dev/null
if [ $? -eq 0 ];then
echo "" > /dev/null
else
systemctl restart wg-quick@wg0
fi
}
ping_monitor 10.7.0.1
`
XuYijie
13 天前
没有公网 IP ,我的水平能想到的就是用蒲公英异地组网,也挺便宜的
shadowyue
13 天前
业务都这么大了,找几个人专门负责各地的事情也行?或者找兼职的人帮你弄。客户肯定觉得有专人来处理最放心。
MADBOB
13 天前
有钱/预算就买向日葵或其他厂家现成的远程管理方案,没钱就 frp/nps 反向代理 ssh ,ssh 能打通能远程,其他都随便搞。之前用 nps 在全国各地搞了大概 2-300 台机器,只要硬件没啥大坑维护很好用。另外不推荐 wireguard/tailscale 这种自己组网,各地网络/运营商都不同,udp 政策也不一样,不稳定给自己找坑。买向日葵的组网产品还比较好。
bitmin
13 天前
简单点就再写个客户端管理这套系统,定时请求服务器看有没有需要更新的,有就拉下来

每次重启先请求服务器对比版本号看看有没有更新,有就下载更新,没有就直接启动这套系统

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1051228

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX