在K8S中,nodePort的externalTrafficPolicy字段有什么作用?

在kubernetes中,externalTrafficPolicy字段是Service对象的一个属性,它主要应用于NodePort和LoadBalancer类型的服务,用于控制外部流量进入集群后如何路由到后端的Pods。
externalTrafficPolicy可以设置为两种值:Cluster(默认值)和Local。

1. Cluster:

当externalTrafficPolicy设置为Cluster时,kubernetes将采用集群内部的负载均衡机制,无论外部流量来自哪个节点,都可能会被路由到集群中任何节点上的后端Pods。这意味着即便流量最初到达的节点上能够处理该流量的Pod,也可能将流量发送到其他节点上的Pod。这种策略有利于充分利用集群资源,确保负载均衡的效果。

2. Local:

当externalTrafficPolicy设置为Local时,kubernetes将仅把流量路由到接收外部流量的节点上的本地Endpoints(Pods)。如果该节点上没有匹配的Pod,则流量不会被转发到集群中的其他节点。启用本地流量策略有助于减少网络跳数,提高性能,尤其适用于那些需要考虑延迟敏感度的应用场景,但这意味着可能会牺牲一定的负载均衡能力,因为并非所有节点都始终具有可用的本地副本。

综上所述:
externalTrafficPolicy字段的主要作用在于控制从集群外部流入的流量如何在集群内部进行分发,以此来调整流量路由策略以适应不同应用场景的需求,如是否需要全局负载均衡,或者优先考虑降低网络延迟。

相关推荐
虎头金猫4 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS4 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun4 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)4 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang4 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren4 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿4 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl4 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、4 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove4 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21