File tree Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Expand file tree Collapse file tree 3 files changed +40
-0
lines changed Original file line number Diff line number Diff line change 3333 selector :
3434 app.kubernetes.io/name : {{ include "k8s-service.name" . }}
3535 app.kubernetes.io/instance : {{ .Release.Name }}
36+ {{- if .Values.service.externalTrafficPolicy }}
37+ externalTrafficPolicy : {{ .Values.service.externalTrafficPolicy }}
38+ {{- end}}
39+ {{- if .Values.service.internalTrafficPolicy }}
40+ internalTrafficPolicy : {{ .Values.service.internalTrafficPolicy }}
41+ {{- end}}
3642 {{- if .Values.service.sessionAffinity }}
3743 sessionAffinity : {{ .Values.service.sessionAffinity }}
3844 {{- if .Values.service.sessionAffinityConfig }}
Original file line number Diff line number Diff line change @@ -312,6 +312,10 @@ minPodsAvailable: 0
312312# Kubernetes defaults to None.
313313# - sessionAffinityConfig (object) : Configuration for session affinity, as defined in Kubernetes
314314# (https://kubernetes.io/docs/concepts/services-networking/service/#virtual-ips-and-service-proxies)
315+ # - externalTrafficPolicy (string) : Configuration to control traffic flow from external sources - supports 'Cluster' and 'Local'
316+ # https://kubernetes.io/docs/concepts/services-networking/service/#external-traffic-policy
317+ # - internalTrafficPolicy (string) : Configuration to control traffic flow from internal sources - supports 'Cluster' and 'Local'
318+ # https://kubernetes.io/docs/concepts/services-networking/service/#internal-traffic-policy
315319#
316320# The following example uses the default config and enables client IP based session affinity with a maximum session
317321# sticky time of 3 hours.
@@ -325,6 +329,8 @@ minPodsAvailable: 0
325329# targetPort: http
326330# protocol: TCP
327331# sessionAffinity: ClientIP
332+ # externalTrafficPolicy: Cluster
333+ # internalTrafficPolicy: Cluster
328334# sessionAffinityConfig:
329335# clientIP:
330336# timeoutSeconds: 10800
Original file line number Diff line number Diff line change @@ -977,6 +977,34 @@ func TestK8SServiceSessionAffinityConfig(t *testing.T) {
977977 assert .Equal (t , int32 (10800 ), * service .Spec .SessionAffinityConfig .ClientIP .TimeoutSeconds )
978978}
979979
980+ // Test that externalTrafficPolicy is correctly set
981+ func TestK8SServiceExternalTrafficPolicy (t * testing.T ) {
982+ t .Parallel ()
983+
984+ service := renderK8SServiceWithSetValues (
985+ t ,
986+ map [string ]string {
987+ "service.externalTrafficPolicy" : "Local" ,
988+ },
989+ )
990+
991+ assert .Equal (t , corev1 .ServiceExternalTrafficPolicyType ("Local" ), service .Spec .ExternalTrafficPolicy )
992+ }
993+
994+ // Test that internalTrafficPolicy is correctly set
995+ func TestK8SServiceInternalTrafficPolicy (t * testing.T ) {
996+ t .Parallel ()
997+
998+ service := renderK8SServiceWithSetValues (
999+ t ,
1000+ map [string ]string {
1001+ "service.internalTrafficPolicy" : "Local" ,
1002+ },
1003+ )
1004+
1005+ assert .Equal (t , corev1 .ServiceInternalTrafficPolicyType ("Local" ), * service .Spec .InternalTrafficPolicy )
1006+ }
1007+
9801008// Test that sessionAffinity and sessionAffinityConfig are not rendered if not set
9811009func TestK8SServiceSessionAffinityOnlySetIfDefined (t * testing.T ) {
9821010 t .Parallel ()
You can’t perform that action at this time.
0 commit comments