Internal Traffic Policy — control intra-cluster traffic routing.
1apiVersion: v12kind: Service3metadata:4 name: myapp-local5spec:6 type: ClusterIP7 internalTrafficPolicy: Local8 selector:9 app: myapp10 ports:11 - port: 8012 targetPort: 300013---14apiVersion: v115kind: Service16metadata:17 name: myapp-cluster18spec:19 type: ClusterIP20 internalTrafficPolicy: Cluster # default21 selector:22 app: myapp23 ports:24 - port: 8025 targetPort: 3000
1# Check traffic policy2kubectl get svc myapp-local -o jsonpath='{.spec.internalTrafficPolicy}'34# Test Local routing5# Pod on node-1 connects to myapp-local -> only Pod on node-1 is used6# Pod on node-1 connects to myapp-cluster -> any Pod is used78# Check endpoints with hints9kubectl get endpoints myapp-local -o yaml | grep -A 10 hints1011# Verify routing behavior12kubectl exec -it my-pod -- curl http://myapp-local.production.svc.cluster.local13kubectl exec -it my-pod -- curl http://myapp-cluster.production.svc.cluster.local1415# Check node-local endpoints16kubectl get endpoints myapp-local -o jsonpath='{.subsets[*].addresses[*].nodeName}'
Policies:
Benefits of Local: