如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网

在使用容器服务的过程中。出于业务的需要,用户需要创建VPC集群,但是又不希望每台ECS都绑定公网EIP,一方面是出于业务私密性的保护,另外一方面是出于节约成本的考虑。

基于以上场景,我们可以让集群内的机器,通过一台有EIP的机器来上网。在这个过程中主要使用到了SNAT相关的知识。

  • 先找一台同Region内的VPC机器,为该机器配置EIP
  • 登陆到配置了EIP的ECS,为机器开启IP转发功能,找到#net.ipv4.ip_forward=1行,去掉注释即可
    如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
 执行以下命令,让IP转发生效

如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网

  • iptables添加SNAT转换 其中192.168.1.0 是内网网段, 192.168.1.95是绑定了EIP的这台机器的内网IP

    iptables -t nat -I POSTROUTING -s 192.168.1.0/24 -j SNAT --to-source 192.168.1.95 
  • 去VPC控制台,添加VPC路由器,其中的下一跳ECS是绑定了公网EIP的那台ECS
    如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
  • 通过以上步骤,我们就完成了集群创建过程中SNAT转发的配置工作。为了验证SNAT是否生效,我们可以去容器服务控制台创建一台摘掉公网EIP的集群。
    如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
  • 当集群创建成功以后,我们查看集群的主机列表,看到主机的IP是192.168.1.96
    如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
  • 接下来通过之前配置SNAT的EIP,登录到192.168.1.1进行简单ping测试,如果可以正常访问公网,则说明配置生效
    如何保证摘除公网EIP的容器服务VPC集群可以正常访问公网
  • 通过以上的操作步骤以后,对于没有EIP的容器服务集群,从公网拉取镜像部署应用都没有问题。
上一篇:闲鱼消息发展回顾


下一篇:集群中节点挂载数据盘的几种方式