CCE 访问公网实践

概述

在一些场景中,用户需要让CCE集群中的节点和Pod具备访问公网的能力,如通过yum install等命令访问外部源地址下载安装软件、容器需要访问公网中的某些服务等等。
我们提供了以下两种方案,可以实现集群访问公网,用户可以根据具体需求自行选择。

相关概念

EIP:EIP是百度智能云提供的弹性公网IP服务,EIP可以挂载到CCE节点、BLB、NAT网关等服务,提供可以访问公网的地址。

NAT网关:百度智能云 NAT 网关支持用户VPC子网中的BCC、DCC等实例连接公网,通过NAT网关实现内网IP转换为公网IP地址。

节点子网:用户在创建CCE工作节点时,可以选择节点所在的VPC子网。子网通常会有两种类型:通用型子网、NAT专属型子网。通用型子网中的节点可以挂载EIP直接访问公网,NAT专属型子网中的节点则只能通过NAT网关实现公网访问。

方案一:通用型子网 + EIP

在创建和添加CCE节点时,为节点选择通用型的子网:

image.png

如果无法确认子网列表中哪些子网是通用型,可以在VPC控制台查看子网的设备类型:

image.png

如果VPC中没有合适的通用型子网,也可以创建新的通用型子网,将设备类型选为通用型即可:

image.png

如果节点在通用型子网中,那么可以直接为节点绑定EIP,可以在创建和添加节点时联动购买EIP,也可以在节点加入集群后再进行EIP的绑定:

image.png

image.png

节点在绑定EIP之后,即可以直接访问公网。

方案二:NAT专属型子网 + NAT 网关

如果不希望节点在访问公网时暴露自己的公网IP,可以通过NAT网关为私有网络提供访公网访问服务。参考 NAT网关最佳实践

首先在VPC中创建子网时,设备类型选择NAT专属型。
nat_subnet.png

进入VPC控制台,选择VPC实例--> NAT网关--> 创建NAT网关,如下图:

create-nat.png

完成NAT网关后,在VPC中配置路由表,路由的源网段为节点所在的子网,目标网段为全0,路由类型为NAT网关,下一跳实例为创建好的NAT网关。如下图:

add_vpc_route.png

配置完成后,创建集群时选择该NAT专属型子网,创建出的集群节点都可以访问公网。

注意:NAT专属型子网内的节点将无法绑定EIP,必须创建NAT网关并且建立路由表规则后,才能访问公网。

优缺点分析

方案 优点 缺点
通用型子网 + EIP 操作简单
无需为NAT网关付费
需要暴露节点EIP,存在安全风险
NAT专属子网 + NAT网关 节点完全没有EIP,安全性高
节点无法绑定EIP,无法被公网访问