干货:
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 | flow |
注释
[1] 应该是哪里有 bug 导致 docker 进程被杀,用 top 命令看硬件资源并不紧张。
[2] 名人名言,Genius Kaii 说的。