🎈「k8s 探索」系列:
我的 k8s 的集群是放在家里,而一般家庭网络时没有固定的 IP 的,所以如果我想在外面访问集群,或者让朋友也能访问我的集群,就需要通过「内网穿透」进入。这里我们选用一个非常好用的免费工具——frp
。
frp 是一个专注于内网穿透的高性能的反向代理应用,支持 TCP、UDP、HTTP、HTTPS 等多种协议。可以将内网服务以安全、便捷的方式通过具有公网 IP 节点的中转暴露到公网。
1 准备工作
下载对应版本的 frp,解压后备用。
1 2 3 4 5 6 7 8 9 10
|
cd ~/software wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_amd64.tar.gz tar -zxvf frp_0.37.1_linux_amd64.tar.gz
cd ~/software wget https://github.com/fatedier/frp/releases/download/v0.37.1/frp_0.37.1_linux_arm64.tar.gz tar -zxvf frp_0.37.1_linux_arm64.tar.gz
|
2 安装 frp server
我们先在具有公网 IP 的服务器上部署 frps。
1 2 3 4 5
| sudo vi /home/op/software/frp_0.37.1_linux_amd64/frps.ini
[common] bind_port = 7000
|
添加 systemd 配置文件,方便操作 frps。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| sudo vi /etc/systemd/system/frps.service
[Unit] Description=frps daemon After=syslog.target network.target Wants=network.target
[Service] Type=simple ExecStart=/home/op/software/frp_0.37.1_linux_amd64/frps -c /home/op/software/frp_0.37.1_linux_amd64/frps.ini Restart=always RestartSec=1min ExecStop=/usr/bin/killall frps
[Install] WantedBy=multi-user.target
sudo systemctl enable frps.service
sudo service frps start
|
3 安装 frp client
在需要被访问的内网树莓派上部署 frpc。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| sudo vi /home/ubuntu/software/frp_0.37.1_linux_arm64/frpc.ini
[common] server_addr = x.x.x.x server_port = 7000
[ssh] type = tcp local_ip = 127.0.0.1 local_port = 22 remote_port = 6000
[range:port] type = tcp local_ip = 127.0.0.1 local_port = 8000-9000 remote_port = 8000-9000
|
添加 systemd 配置文件,方便操作 frpc。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| sudo vi /etc/systemd/system/frpc.service
[Unit] Description=frpc daemon After=syslog.target network.target Wants=network.target
[Service] Type=simple ExecStart=/home/ubuntu/software/frp_0.37.1_linux_arm64/frpc -c /home/ubuntu/software/frp_0.37.1_linux_arm64/frpc.ini Restart=always RestartSec=1min ExecStop=/usr/bin/killall frpc
[Install] WantedBy=multi-user.target
sudo systemctl enable frpc.service
sudo service frpc start
|
4 访问
如果你的配置完全按照上文,那么最终服务器的 6000 端口就会转发到树莓派的 22 端口。
1
| ssh -p 6000 ubuntu@x.x.x.x
|
经过这番折腾,就可以开心的随时随地访问树莓派了!
5 参考
🎈「k8s 探索」系列: