教你解决 CCE 集群中容器出网
本文分享自华为云社区《CCE集群中容器出网总结》,作者:可以交个朋友。
一 背景
针对 CCE 集群和 CCE turbo 集群中的容器访问外部网络进行总结
二 容器出网简介
使用 EIP 服务绑定特定节点、容器 IP 地址 或者使用 SNAT 网关对特定子网进行 NAT 源地址进行转换从而实现容器出网。
2.1 CCE 标准集群
集群工作节点绑定 EIP,位于节点上的 POD 就可以通过宿主机的网卡进行出网。
集群工作节点对应的 Subnet 关联 SNAT 网关,节点通过 SNAT 网关出网。(建议选择此种方式)
2.2 CCE turbo 集群
POD 绑定 EIP(节点绑没有用),容器直接出网
POD 对应的 Subnet 关联 SNAT 网关,pod 通过 SNAT 网关出网。(建议选择此种方式)
三 实践
以 CCE turbo 集群为例,如果集群中 POD 需要访问公网,则需要绑定 EIP 或者配置 SNAT。大规模场景下,每个 POD 配置 EIP,会造成资源的大量浪费,已经管理成本的上升。所以大部分情况下都是配置 SNAT 规则进行容器的出网。
确认 POD 网段
如下图所示,正在运行的 pod 使用的是subnet-container01
这个子网
未添加 SNAT 时访问公网
登录容器,执行命令curl -I -m 10 www.baidu.com
可以发现此时 POD 没有出网能力,访问公网失败。
给对应容器子网添加 SNAT 出网规则
容器访问公网
登录容器,执行命令curl -I -m 10 www.baidu.com
访问成功。
版权声明: 本文为 InfoQ 作者【华为云开发者联盟】的原创文章。
原文链接:【http://xie.infoq.cn/article/43ff4e072b02addf4fe472856】。文章转载请联系作者。
评论