Service 內部流量策略
如果叢集中的兩個 Pod 想要通訊,而且這兩個 Pod 實際上都在同一個節點上執行,請使用服務內部流量策略,將網路流量保持在該節點內。避免透過叢集網路進行往返可以幫助提高可靠性、效能(網路延遲和吞吐量)或成本。
功能狀態:
Kubernetes v1.26 [穩定]
服務內部流量策略啟用內部流量限制,僅將內部流量路由到流量來源節點內的端點。此處的「內部」流量是指來自目前叢集中 Pod 的流量。這有助於降低成本並提高效能。
使用服務內部流量策略
您可以為 服務 (Service) 啟用僅限內部流量的策略,方法是將其 .spec.internalTrafficPolicy
設定為 Local
。這會告知 kube-proxy 僅針對叢集內部流量使用節點本機端點。
注意
對於在沒有給定服務端點的節點上的 Pod 來說,即使該服務在其他節點上有端點,此服務的行為也如同它(在此節點上的 Pod 而言)沒有端點一樣。以下範例顯示當您將 .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)