开发者社区> 问答> 正文

访问链路时,在入方向集群外访问指什么?

已解决

访问链路时,在入方向集群外访问指什么?

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

    •ingress controller的本质是多一层nginx7层代理

    •ingress controller本质是多一层nginx7层代理,默认情况下ingress controller svc使用的lb为4层 tcp监听,tls需要通过ingress配置来支持。对于七层节点来说,服务端如果需要采集客户端真实IP地址,需要采集XFF的header来确定客户端的地址需要采集XFF的header来确定客户端的地址

    •ingress的后端或者证书更新的时候,svc的ep更新后,ingress也会重新reload backend,这之间是需要一个时间差的,这个差值一般在几秒以内,不会对业务产生影响。所以存在pod已经被从svc 的ep中移除,但是还为从ingress controller的backend移除,依然会存在请求打到老pod,所以建议在pod中设置prestop来进行优雅的关闭连接。

    •Loadblance 类型的svc

    •依赖slb的负载均衡算法 健康检查,白名单等功能,可以通过SLB的ACL名单,来控制SLB的访问规则。

    •slb支持7层监听,可以将证书放到slb上来完成https的握手,但是slb与后端pod使用http协议通讯。 这时候如果集群内访问SLB IP其实链路是不经过SLB的,会被iptables规则直接转发到目的pod,无法建立http是连接

    •默认添加的后端服务器是nodeport类型,Terway模式,优选eni类型,这样SLB会直接转发到目的pod所在的ECS的附属ENI上,避免了后端ECS上的多次转发

    •NodePort类型的svc

    •依赖节点本身具备公网ip,这种用法会比较消耗eip,需要每个ECS配置EIP来提供被公网访问的能力

    •不同的pod所在节点公网能力有所不同,会增加运维成本,建议使用SLB的方式提供对外服务的能力"

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

    2022-10-17 17:25:19
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
阿里云开发者社区官方技术圈,用户产品功能发布、用户反馈收集等。
问答排行榜
最热
最新

相关电子书

更多
“静态调用链路发现”应用场景分析及实践探索 立即下载
动态、高效,蚂蚁动态卡片的内核逻辑 立即下载
容器技术在千万用户级企业的实践及网络方案优化 立即下载