本文分享自华为云社区《CCE集群中容器出网总结》,作者:可以交个朋友。

一 背景

针对CCE集群和CCE turbo集群中的容器访问外部网络进行总结。

cke_125.png

二 容器出网简介

使用EIP服务绑定特定节点、容器IP地址 或者使用SNAT网关对特定子网进行NAT源地址进行转换从而实现容器出网。

2.1 CCE 标准集群

  1. 集群工作节点绑定EIP,位于节点上的POD就可以通过宿主机的网卡进行出网。
  2. 集群工作节点对应的Subnet关联SNAT网关,节点通过SNAT网关出网。(建议选择此种方式)

2.2 CCE turbo 集群

  1. POD绑定EIP(节点绑没有用),容器直接出网
  2. POD对应的Subnet关联SNAT网关,pod通过SNAT网关出网。(建议选择此种方式)

三 实践

以CCE turbo集群为例,如果集群中POD需要访问公网,则需要绑定EIP或者配置SNAT。大规模场景下,每个POD配置EIP,会造成资源的大量浪费,已经管理成本的上升。所以大部分情况下都是配置SNAT规则进行容器的出网。

1.确认POD网段

cke_126.png

如下图所示,正在运行的pod使用的是subnet-container01这个子网

cke_127.png

2.未添加SNAT时访问公网

登录容器,执行命令curl -I -m 10 www.baidu.com

cke_128.png

可以发现此时POD没有出网能力,访问公网失败。

3.给对应容器子网添加SNAT出网规则

cke_129.png

4.容器访问公网

登录容器,执行命令curl -I -m 10 www.baidu.com

cke_130.png

访问成功。

点击关注,第一时间了解华为云新鲜技术~

Logo

为开发者提供学习成长、分享交流、生态实践、资源工具等服务,帮助开发者快速成长。

更多推荐