异地机器组网方案

💡 原文中文,约4000字,阅读约需10分钟。
📝

内容提要

最近要自己做一些项目,需要用到k8s,自己单机搭建比较耗费性能,于是就利用其他资源:一个台式机、一台笔记本、一台阿里云ECS,那怎么将这三台机器组到一个局域网内呢?通过调研,发现tailscale似乎满足方案,使用开源的WireGuard协议,能够p2p访问,但它是一个商业产品,有连接数的限制,如果个人开发是没什么问题的,但是以后连接的设备一多就需要交钱了。那有没有不收费的?有,headscale,这个是一个免费开源产品,实现了一个三方的tailscale控制服务器,这样连接数的限制就可控了,客户端依然使用tailscale。

🎯

关键要点

  • 需要在多个设备上搭建 k8s,使用台式机、笔记本和阿里云 ECS。

  • 使用 tailscale 作为解决方案,但存在连接数限制,个人开发可用,设备多时需付费。

  • headscale 是一个免费开源的替代方案,提供 tailscale 控制服务器,解决连接数限制问题。

  • 安装控制服务器时,建议选择不易断电的机器,如 ECS。

  • 配置环境包括创建必要的目录和数据库文件,下载并设置 headscale 的配置文件。

  • 创建 systemd 服务以管理 headscale 的启动和运行。

  • 创建 headscale 用户并设置目录权限。

  • 启动 headscale 服务并设置为开机自启,验证服务状态。

  • 使用 headscale 的命名空间功能来区分不同用户的组网。

  • 安装 macOS 客户端并配置控制服务的公网 IP 地址。

  • 在 macOS 客户端中进行登录和认证,注册节点。

  • 安装 Linux 客户端并配置相应的服务,连接到 headscale。

  • 验证局域网内节点的互通性,确保能够相互访问。

➡️

继续阅读