最近要自己做一些项目,需要用到 k8s,自己单机搭建比较耗费性能,于是就利用其他资源:一个台式机、一台笔记本、一台阿里云 ECS,那怎么将这三台机器组到一个局域网内呢?
通过调研,发现 tailscale 似乎满足方案,使用开源的 WireGuard 协议,能够 p2p 访问,但它是一个商业产品,有连接数的限制,如果个人开发是没什么问题的,但是以后连接的设备一多就需要交钱了。那有没有不收费的?有,headscale,这个是一个免费开源产品,实现了一个三方的 tailscale 控制服务器,这样连接数的限制就可控了,客户端依然使用 tailscale。下面看一下操作步骤(均在 root 权限下操作)。
机器配置:
ecs 1c2g
这个控终端最好装在不容易断电、重启的机器上,那 ecs 是最佳的选择
| |
| |
进入到 config.yaml 中修改以下几个点:
http://<公网 ip>:8080 这个要看你当前机器的公网 IP | |
粘贴下面命令
| |
| |
使用 headscale serve 测试能否正常运行,如果不行根据报错信息修改问题,确认无误后使用 systemctl 启动
| |
| |
headscale 中有个 namespace 的概念,用来区分不同用户的组网,之间不能互通,类似于多租户的概念
| |
访问控制服务中配置的公网 ip 地址,<公网 ip>:8080/apple,会出现一个页面。
找到 macOS - Standalone Client 客户端并下载,这是一个 tailscale 的客户端,需要本机授权才能访问。
打开后会在顶部菜单栏中出现一个图标

打开终端,执行下面命令
| |
此时需要登录 tailscale,按住 alt 点击顶部的 tailscale 图标,会出现 debug 按钮

点击 debug-> login,将你的控制服务器地址填进去,<公网 ip>:8080 并登录。
此时浏览器会弹出一个页面

拷贝并粘贴到控制服务器所在的机器,我这里是 ecs,在 ecs 终端执行
| |
如果成功的话会有下面提示:
| |
使用下面命令查看当前网络加入的节点
| |
从 https://pkgs.tailscale.com/stable/ 找到你系统对应的版本

我的是 centos,直接粘贴官方文档上的命令就可以了。
启动
| |
连接
| |
此时控制台会出现一个访问地址,拷贝出来用浏览器打开,会得到一串和上面 macos 认证一样命令,可以参考 macos 认证部分
此时局域网内有两个节点能够相互访问,可以使用 下面命令查询当前网段下的节点信息
| |

我们可以使用 ping 命令相互 ping 一下,看是否能互通。

最近要自己做一些项目,需要用到 k8s,自己单机搭建比较耗费性能,于是就利用其他资源:一个台式机、一台笔记本、一台阿里云 ECS,那怎么将这三台机器组到一个局域网内呢?
通过调研,发现 tailscale 似乎满足方案,使用开源的 WireGuard 协议,能够 p2p 访问,但它是一个商业产品,有连接数的限制,如果个人开发是没什么问题的,但是以后连接的设备一多就需要交钱了。那有没有不收费的?有,headscale,这个是一个免费开源产品,实现了一个三方的 tailscale 控制服务器,这样连接数的限制就可控了,客户端依然使用 tailscale。下面看一下操作步骤(均在 root 权限下操作)。
机器配置:
ecs 1c2g
这个控终端最好装在不容易断电、重启的机器上,那 ecs 是最佳的选择
| |
| |
进入到 config.yaml 中修改以下几个点:
http://<公网 ip>:8080 这个要看你当前机器的公网 IP | |
粘贴下面命令
| |
| |
使用 headscale serve 测试能否正常运行,如果不行根据报错信息修改问题,确认无误后使用 systemctl 启动
| |
| |
headscale 中有个 namespace 的概念,用来区分不同用户的组网,之间不能互通,类似于多租户的概念
| |
访问控制服务中配置的公网 ip 地址,<公网 ip>:8080/apple,会出现一个页面。
找到 macOS - Standalone Client 客户端并下载,这是一个 tailscale 的客户端,需要本机授权才能访问。
打开后会在顶部菜单栏中出现一个图标

打开终端,执行下面命令
| |
此时需要登录 tailscale,按住 alt 点击顶部的 tailscale 图标,会出现 debug 按钮

点击 debug-> login,将你的控制服务器地址填进去,<公网 ip>:8080 并登录。
此时浏览器会弹出一个页面

拷贝并粘贴到控制服务器所在的机器,我这里是 ecs,在 ecs 终端执行
| |
如果成功的话会有下面提示:
| |
使用下面命令查看当前网络加入的节点
| |
从 https://pkgs.tailscale.com/stable/ 找到你系统对应的版本

我的是 centos,直接粘贴官方文档上的命令就可以了。
启动
| |
连接
| |
此时控制台会出现一个访问地址,拷贝出来用浏览器打开,会得到一串和上面 macos 认证一样命令,可以参考 macos 认证部分
此时局域网内有两个节点能够相互访问,可以使用 下面命令查询当前网段下的节点信息
| |

我们可以使用 ping 命令相互 ping 一下,看是否能互通。
