svc中外部流量访问限制

张开发
2026/4/11 17:47:34 15 分钟阅读

分享文章

svc中外部流量访问限制
1.参数kubectl edit svc-nmonitoring grafana#参数externalTrafficPolicy: Cluster/Local internalTrafficPolicy: Cluster2.参数详解externalTrafficPolicy 针对外部流量如通过 LoadBalancer 或 NodePort 进入的流量 internalTrafficPolicy 针对集群内部流量如 Pod 访问 Service 的 ClusterIP。externalTrafficPolicy: Cluster此参数控制从集群外部进入的流量如何被路由。工作原理当外部流量通过 LoadBalancer 或 NodePort 到达任意一个节点时无论该节点上是否有对应的 Pod流量都会被接收。如果接收流量的节点上没有 Podkube-proxy会通过一次额外的转发即“二次跳转”将流量路由到集群中其他拥有健康 Pod 的节点上。优点优秀的负载均衡外部负载均衡器可以将流量分发到所有节点Kubernetes 会确保流量最终被均匀地分配给所有后端的 Pod避免了因 Pod 分布不均导致的部分节点过载。高可用性即使某些节点上没有 Pod这些节点依然可以作为流量的入口保证了服务的访问路径不会中断。缺点源 IP 丢失在跨节点转发时为了能让响应包正确返回kube-proxy会执行源网络地址转换SNAT。这导致后端 Pod 看到的客户端源 IP 是节点的 IP而不是真实的客户端 IP。额外一跳流量可能经历“客户端 - 节点A - 节点B - Pod”的路径多了一次网络跳转会引入微小的延迟。internalTrafficPolicy: Cluster此参数控制从集群内部发起的流量如何被路由。工作原理当集群内的一个 Pod 访问 Service 的 ClusterIP 时流量可以被路由到集群中任意一个健康的后端 Pod无论它们在哪个节点上。优点服务高可用即使发起请求的 Pod 所在节点上没有目标服务的 Pod请求也能被成功转发到其他节点确保了集群内部服务调用的稳定性。缺点源 IP 丢失与externalTrafficPolicy: Cluster类似跨节点转发时也会发生 SNAT目标 Pod 看到的源 IP 是发起请求的 Pod 所在节点的 IP。潜在的跨节点流量流量可能会离开本地节点通过网络访问其他节点上的 Pod这会增加集群内部网络的开销和延迟。3.参数对比与总结特性externalTrafficPolicy: ClusterinternalTrafficPolicy: Cluster流量来源集群外部如互联网集群内部如其他 Pod路由范围所有节点可能跨节点转发所有节点可能跨节点转发源 IP 保留否Pod 看到的是节点 IP否Pod 看到的是源 Pod 的节点 IP负载均衡优秀全局均匀分布优秀全局均匀分布网络性能可能有一次额外跳转可能产生跨节点流量适用场景需要最佳负载均衡和高可用的对外服务需要与集群内所有 Pod 通信的内部服务

更多文章