サービス内部トラフィックポリシー
FEATURE STATE:
Kubernetes v1.21 [alpha]
サービス内部トラフィックポリシーを使用すると、内部トラフィック制限により、トラフィックが発信されたノード内のエンドポイントにのみ内部トラフィックをルーティングできます。 ここでの「内部」トラフィックとは、現在のクラスターのPodから発信されたトラフィックを指します。これは、コストを削減し、パフォーマンスを向上させるのに役立ちます。
ServiceInternalTrafficPolicyの使用
ServiceInternalTrafficPolicy
フィーチャーゲートを有効にすると、.spec.internalTrafficPolicy
をLocal
に設定して、Service内部のみのトラフィックポリシーを有効にすることができます。
これにより、kube-proxyは、クラスター内部トラフィックにノードローカルエンドポイントのみを使用するようになります。
備考: 特定のServiceのエンドポイントがないノード上のPodの場合、Serviceに他のノードのエンドポイントがある場合でも、Serviceは(このノード上のポッドの)エンドポイントがゼロであるかのように動作します。
次の例は、.spec.internalTrafficPolicy
をLocal
に設定した場合のServiceの様子を示しています:
apiVersion: v1
kind: Service
metadata:
name: my-service
spec:
selector:
app: MyApp
ports:
- protocol: TCP
port: 80
targetPort: 9376
internalTrafficPolicy: Local
使い方
kube-proxyは、spec.internalTrafficPolicy
の設定に基づいて、ルーティング先のエンドポイントをフィルタリングします。
spec.internalTrafficPolicy
がLocal
であれば、ノードのローカルエンドポイントにのみルーティングできるようにします。Cluster
または未設定であればすべてのエンドポイントにルーティングできるようにします。
ServiceInternalTrafficPolicy
フィーチャーゲートが有効な場合、spec.internalTrafficPolicy
のデフォルトはCluster
です。
制約
- Serviceで
externalTrafficPolicy
がLocal
に設定されている場合、サービス内部トラフィックポリシーは使用されません。同じServiceだけではなく、同じクラスター内の異なるServiceで両方の機能を使用することができます。
次の項目
最終更新 January 04, 2022 at 1:26 PM PST: Update service-traffic-policy.md (8c4dcb2ee)