CCE-访问公网实践
概述
在一些场景中,用户需要让CCE集群中的节点和Pod具备访问公网的能力,如通过yum install等命令访问外部源地址下载安装软件、容器需要访问公网中的某些服务等等。 我们提供了以下两种方案,可以实现集群访问公网,用户可以根据具体需求自行选择。
相关概念
EIP:EIP是百度智能云提供的弹性公网IP服务,EIP可以挂载到CCE节点、BLB、NAT网关等服务,提供可以访问公网的地址。
NAT网关:百度智能云 NAT 网关支持用户VPC子网中的BCC、DCC等实例连接公网,通过NAT网关实现内网IP转换为公网IP地址。
节点子网:用户在创建CCE工作节点时,可以选择节点所在的VPC子网。子网类型为通用型子网,通用型子网中的节点可以挂载EIP直接访问公网,也可以通过NAT网关实现公网访问。
(注:百度云私有网络VPC不再支持创建NAT专属型子网,若使用方案二进行访问公网实践,请选择通用型子网作为节点子网。之前创建的NAT专属型子网将不受影响,可正常使用。)
方案一:通用型子网 + EIP
在创建和添加CCE节点时,为节点选择通用型的子网:
如果无法确认子网列表中哪些子网是通用型,可以在VPC控制台查看子网的设备类型:
如果VPC中没有合适的通用型子网,也可以创建新的通用型子网,将设备类型选为通用型即可:
如果节点在通用型子网中,那么可以直接为节点绑定EIP,可以在创建和添加节点时联动购买EIP,也可以在节点加入集群后再进行EIP的绑定:
节点在绑定EIP之后,即可以直接访问公网。
方案二:NAT专属型子网 + NAT 网关
(注:百度云私有网络VPC不再支持创建NAT专属型子网,若使用方案二进行访问公网实践,请选择通用型子网作为节点子网。之前创建的NAT专属型子网将不受影响,可正常使用。)
如果不希望节点在访问公网时暴露自己的公网IP,可以通过NAT网关为私有网络提供访公网访问服务。
首先在VPC中创建子网时,设备类型选择NAT专属型。
进入VPC控制台,选择VPC实例--> NAT网关--> 创建NAT网关,如下图:
完成NAT网关后,在VPC中配置路由表,路由的源网段为节点所在的子网,目标网段为全0,路由类型为NAT网关,下一跳实例为创建好的NAT网关。如下图:
配置完成后,创建集群时选择该NAT专属型子网,创建出的集群节点都可以访问公网。
注意:NAT专属型子网内的节点将无法绑定EIP,必须创建NAT网关并且建立路由表规则后,才能访问公网。
优缺点分析
方案 | 优点 | 缺点 |
---|---|---|
通用型子网 + EIP | 操作简单 无需为NAT网关付费 |
需要暴露节点EIP,存在安全风险 |
NAT专属子网 + NAT网关 | 节点完全没有EIP,安全性高 |
节点无法绑定EIP,无法被公网访问 |