From 81c574db627c8e6ddb102df9a368b571db6f0b71 Mon Sep 17 00:00:00 2001 From: clsv Date: Mon, 11 Nov 2024 22:31:02 +0300 Subject: [PATCH] Fix for API compatibility: set ExternalTrafficPolicy by version + service --- pkg/psmdb/service.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/pkg/psmdb/service.go b/pkg/psmdb/service.go index e48c8dac66..5d2b0a9b4a 100644 --- a/pkg/psmdb/service.go +++ b/pkg/psmdb/service.go @@ -101,10 +101,16 @@ func ExternalService(cr *api.PerconaServerMongoDB, replset *api.ReplsetSpec, pod switch replset.Expose.ExposeType { case corev1.ServiceTypeNodePort: svc.Spec.Type = corev1.ServiceTypeNodePort - svc.Spec.ExternalTrafficPolicy = "Cluster" + svc.Spec.ExternalTrafficPolicy = "Local" + if cr.CompareVersion("1.19.0") >= 0 { + svc.Spec.ExternalTrafficPolicy = "Cluster" + } case corev1.ServiceTypeLoadBalancer: svc.Spec.Type = corev1.ServiceTypeLoadBalancer - svc.Spec.ExternalTrafficPolicy = "Local" + svc.Spec.ExternalTrafficPolicy = "Cluster" + if cr.CompareVersion("1.19.0") >= 0 { + svc.Spec.ExternalTrafficPolicy = "Local" + } svc.Spec.LoadBalancerSourceRanges = replset.Expose.LoadBalancerSourceRanges default: svc.Spec.Type = corev1.ServiceTypeClusterIP