定向转发 IP 请求

干货:

1
sudo iptables -t nat -A OUTPUT -d [REQUEST_IP] -j DNAT --to-destination [TARGET_IP]

参考:iptables实现IP地址重定向(转发)

起因

前文介绍过,本站目前是架在阿里云的一台云服务器上,配置是 1 核 2G,CPU 性能基线 20%(也就是只有 0.2 个核)。很寒碜吧,能跑起来 Kubernetes 平台和本博客以及一些奇怪的 service 已经很不错了……

随着奇奇怪怪的 service 越来越多,博文资源越来越多(虽然一共也没几篇),机器逐渐不够用了^[1]^,经常出现 docker 进程消失,导致整个站宕机。所以呢,根据调优不如加钱^[2]^原则,我又在腾讯云租了一台机器,配置是 2 核 4G。

接下来要做的就是kubeadm join

果然出问题了。

这些云服务商一般都会提供一个公网 IP 和一个内网 IP,服务商为了省流,默认 traffic 都是尽量走内网网段,有需要的再映射到外网网段。比如我阿里云的机器搭建 Kubernetes 的时候主机 IP/Port 就都在内网上,所以从腾讯云连过去的时候,哦豁,不行了。

好在他们提供了内外网端口映射,所以我只需要在腾讯云机器上把所有 request 里的的阿里云内网 IP 转换成阿里云外网 IP,理论上就可以工作了。

流程图如下

1
2
3
4
5
6
7
8
9
10
flow
st => start: Start
op=>operation: Your Operation
cond=>condition: Yes or No?
e=>end


st->op->cond
cond(yes)->e
cond(no)->op

注释

[1] 应该是哪里有 bug 导致 docker 进程被杀,用 top 命令看硬件资源并不紧张。

[2] 名人名言,Genius Kaii 说的。

深得我心!博主晚餐加鸡腿!