开发者社区 > 飞天洛神云网络 > 负载均衡 > 正文

集群内的应用需要访问外部资源,被请求的时候请求来自slb,nodeport,应用将数据原路返回,但是

已解决

集群内的应用需要访问外部资源,被请求的时候请求来自slb,nodeport,应用将数据原路返回,但是无法主动通过slb对外进行访问,因此集群出方向也是需要关注的,默认的公网出方向能力提供为vpc的nat网关,我们在处理集群内外的出方向请求时,通常会有什么问题?

展开
收起
詹姆斯邦德00 2022-10-14 17:27:27 462 0
1 条回答
写回答
取消 提交回答
  • 推荐回答

    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、独立的虚拟交换机、安全组。

    image.png

    •Flannel 模式,pod出方向经由节点eth0, 由CCM组件自动添加pod网段对应下一跳节点的路由条目。若路由表项缺失,会造成pod访问或者回包异常。

    image.png

    -是否设置NetworkPolicy

    •Terway-eniip使用Calico的Felix作为NetworkPolicy功能的实现; 在基于IPvlan的ENI多IP的IPvlan模式中Terway的NetworkPolicy是通过集成Cilium组件来实现。

    •注意NetworkPolicy的限制范围:可访问公网服务的来源IP网段;只能被带有特定标签的应用访问;限制一个Pod只能访问指定地址;控制命名空间下Pod公网访问权限。

    -是否开启Istio注入

    •开启Istio注入,Istio-proxy会根据用户设置的isito 规则改写iptables规则,pod出入流量会被istio-proxy拦截处理。

    -EIP:

    •通常VPC内配置NAT网关提供SNAT出公网能力,如果某些ECS实例已经绑定了EIP,这些ECS实例会优先通过绑定的EIP访问互联网,而VPC内的其他ECS实例通过NAT网关的SNAT功能访问互联网,造成VPC内ECS实例的公网出口IP不一致,EIP单独的网络环境也会带来额外的问题。

    •以上场景非最佳实践,可以通过为ECS实例绑定弹性网卡来解决公网出口IP不统一的问题。为绑定了EIP的ECS实例单独分配一块弹性网卡,并将EIP绑定到弹性网卡,这样来自互联网的访问流量会经过弹性网卡到达ECS实例,当ECS实例需要访问互联网时会通过NAT网关进行转发。

    -安全组出口规则

    企业安全组需要明文规定出口规则。普通安全组出方向默认全开。参考官方文档中总结。

    以上内容摘自《企业级云原生白皮书项目实战》电子书,点击https://developer.aliyun.com/ebook/download/7774可下载完整版

    2022-10-17 17:25:19
    赞同 展开评论 打赏

阿里云负载均衡(Server Load Balancer,简称SLB)是云原生时代应用高可用的基本要素。通过将流量分发到不同的后端服务来扩展应用系统的服务吞吐能力,消除单点故障并提升应用系统的可用性。 阿里云SLB包含面向4层的网络型负载均衡NLB、面向7层的应用型负载均衡ALB和传统型负载均衡CLB,是阿里云官方云原生网关。

相关产品

  • 负载均衡
  • 热门讨论

    热门文章

    相关电子书

    更多
    《应用型负载均衡ALB产品解读》 立即下载
    阿里云网络-SLB负载均衡产品介绍 立即下载
    负载均衡SLB热点问题解答 立即下载