Service 內部流量策略

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

服務內部流量策略啟用內部流量限制,僅將內部流量路由到流量來源節點內的端點。此處的「內部」流量是指來自目前叢集中 Pod 的流量。這有助於降低成本並提高效能。

使用服務內部流量策略

您可以為 服務 (Service) 啟用僅限內部流量的策略,方法是將其 .spec.internalTrafficPolicy 設定為 Local。這會告知 kube-proxy 僅針對叢集內部流量使用節點本機端點。

以下範例顯示當您將 .spec.internalTrafficPolicy 設定為 Local 時,服務 (Service) 的外觀。

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)