服务内部流量策略

如果您的集群中的两个 Pod 需要通信,并且这两个 Pod 实际上运行在同一个节点上,请使用*服务内部流量策略*将网络流量保留在该节点内。避免通过集群网络进行往返可以提高可靠性、性能(网络延迟和吞吐量)或降低成本。
功能状态: Kubernetes v1.26 [稳定]

*服务内部流量策略*支持内部流量限制,仅将内部流量路由到流量源自的节点内的端点。“内部”流量是指源自当前集群中 Pod 的流量。这有助于降低成本并提高性能。

使用服务内部流量策略

您可以通过将服务.spec.internalTrafficPolicy 设置为 Local,为其启用仅限内部的流量策略。这会告诉 kube-proxy 仅将节点本地端点用于集群内部流量。

以下示例显示了将 .spec.internalTrafficPolicy 设置为 Local 时服务的显示方式

apiVersion: v1
kind: Service
metadata:
  name: my-service
spec:
  selector:
    app.kubernetes.io/name: MyApp
  ports:
    - protocol: TCP
      port: 80
      targetPort: 9376
  internalTrafficPolicy: Local

工作原理

kube-proxy 根据 spec.internalTrafficPolicy 设置过滤其路由到的端点。当它设置为 Local 时,仅考虑节点本地端点。当它为 Cluster(默认值)或未设置时,Kubernetes 会考虑所有端点。

下一步

上次修改时间:2023 年 8 月 20 日太平洋标准时间上午 10:58:修复链接 (07f224714a)