diff --git a/pkg/cluster/resources.go b/pkg/cluster/resources.go index 5c35058c2..a7c01a8c5 100644 --- a/pkg/cluster/resources.go +++ b/pkg/cluster/resources.go @@ -543,7 +543,8 @@ func (c *Cluster) updateService(role PostgresRole, newService *v1.Service) error // patch does not work because of LoadBalancerSourceRanges field (even if set to nil) oldServiceType := c.Services[role].Spec.Type newServiceType := newService.Spec.Type - if newServiceType == "ClusterIP" && newServiceType != oldServiceType { + if (newServiceType == "ClusterIP" && newServiceType != oldServiceType) || + newServiceType == "LoadBalancer" && len(newService.Annotations) != len(c.Services[role].Annotations) { newService.ResourceVersion = c.Services[role].ResourceVersion newService.Spec.ClusterIP = c.Services[role].Spec.ClusterIP svc, err = c.KubeClient.Services(serviceName.Namespace).Update(context.TODO(), newService, metav1.UpdateOptions{})