3.3.2 出方向
集群内的应用需要访问外部资源,被请求的时候请求来自slb,nodeport,应用将数据原路返回,但是无法主动通过slb对外进行访问,因此集群出方向也是需要关注的,默认的公网出方向能力提供为vpc的nat网关,我们在处理集群内外的出方向请求时,常见的问题如下:
i.偶发出访问不通
-出口NAT网关:
如果您有大量访问公网的机器或者pod,公网NAT网关做为统一公网出口,需要留意NAT网关的性能上限(带宽,最大连接数,吞吐量),可通过nat网关监控确认是否有达到性能瓶颈丢包等行为。
-偶发性的负载增加导致链路中出现丢包。
如遇负载徒增的问题导致丢包,基于tcpip协议的特性会有自动重传,小量的丢包可以忽略,如果量级比较高(可自行评估可承受的偶发延迟率,如超过1%的请求超过1s不可接受),需要评估是否需要横向扩展或者提高宿主机的配置,可参考上面所属的亲和性打散,cpu-static的优化,使用alinux2系统以及使用最新的规格如7代实例等。
ii.持续出访问不通
-底层实例网络故障
•先判断节点到公网,节点到节点是否能通
-集群网络模式
•Terway模式,pod拥有独立于ecs的eni, 需要留意pod eni的网络环境 (路由表,安全组等)。Terway Trunk ENI支持为每个Pod配置固定IP、独立的虚拟交换机、安全组。
•Flannel 模式,pod出方向经由节点eth0, 由CCM组件自动添加pod网段对应下一跳节点的路由条目。若路由表项缺失,会造成pod访问或者回包异常。
《企业级云原生白皮书项目实战》——第三章 容器——3.3 访问链路——3.3.2 出方向(下) https://developer.aliyun.com/article/1229160?groupCode=supportservice