服務內部流量策略

如果叢集中的兩個 Pod 需要通訊,並且它們都執行在同一個節點上,請使用**服務內部流量策略**將網路流量保持在該節點內。避免透過叢集網路進行往返可以幫助提高可靠性、效能(網路延遲和吞吐量)或降低成本。
功能狀態: Kubernetes v1.26 [stable]

**服務內部流量策略**支援內部流量限制,僅將內部流量路由到流量源自的節點內的端點。“內部”流量在此處指代源自當前叢集中的 Pod 的流量。這有助於降低成本並提高效能。

使用服務內部流量策略

你可以透過將 Service.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 PST:修復連結 (07f224714a)