我把Headscale改造成了集群+多租户的程序,满足海量设备的连接
- 内容介绍
- 文章标签
- 相关推荐
最近一年有部分时间都在 把 headscale/tailscale 引入到工业设备领域,设备数据采集方面。最近半年又在研究将 headscale/tailscale SaaS化、集群化 给个人使用。下面有示例图片,集群+多租户的headscale 已经稳定运行了大概 4、5个月 ,没出过问题。
个人使用方面主要实现了以下几个功能:
1、headscale 实例多租户改造,一个实例程序可以多个租户进行使用,每个租户的IP、ACL、DERPER、DNS都是完全隔离的。
2、headscale 实例集群化改造,通过引入 client_id,以及集群后端共享数据库实现集群的横向扩展
3、中继服务器每个租户可独立设置。 默认使用 共享的中继服务器,也可以手动在界面设置 独立中继服务器。
4、ACL 访问控制:每个租户的ACL都是完整且独立的
5、IP设置:每个租户默认都是 100.64.0.0/10 ,租户管理员也可以将 虚拟IP 设置为 192.168.6.0/24
6、DNS独立: 主机 FQDN 使用 hostname.<tenant_key>.<dns.base_domain> 格式,其中 dns.base_domain 是所有租户共用的。
**程序虽然经过租户化改造,但是仍旧保留了原有headscale所有操作,原有的功能会归类到 default 租户。
最近一年有部分时间都在 把 headscale/tailscale 引入到工业设备领域,设备数据采集方面。最近半年又在研究将 headscale/tailscale SaaS化、集群化 给个人使用。下面有示例图片,集群+多租户的headscale 已经稳定运行了大概 4、5个月 ,没出过问题。
个人使用方面主要实现了以下几个功能:
1、headscale 实例多租户改造,一个实例程序可以多个租户进行使用,每个租户的IP、ACL、DERPER、DNS都是完全隔离的。
2、headscale 实例集群化改造,通过引入 client_id,以及集群后端共享数据库实现集群的横向扩展
3、中继服务器每个租户可独立设置。 默认使用 共享的中继服务器,也可以手动在界面设置 独立中继服务器。
4、ACL 访问控制:每个租户的ACL都是完整且独立的
5、IP设置:每个租户默认都是 100.64.0.0/10 ,租户管理员也可以将 虚拟IP 设置为 192.168.6.0/24
6、DNS独立: 主机 FQDN 使用 hostname.<tenant_key>.<dns.base_domain> 格式,其中 dns.base_domain 是所有租户共用的。
**程序虽然经过租户化改造,但是仍旧保留了原有headscale所有操作,原有的功能会归类到 default 租户。

