Enable backward compatibility for enable_load_balancer setting from operator configmap
This commit is contained in:
parent
931b48fcbb
commit
a8862aeee1
|
|
@ -239,6 +239,8 @@ For any Postgresql/Spilo cluster an operator creates two separate k8s services:
|
|||
|
||||
For backward compatibility with already configured clusters we maintain in a cluster manifest older parameter names, namely `useLoadBalancer` for enabling the master service's load balancer and `replicaLoadBalancer` for the replica service. If set, these params take precedence over the newer `enableMasterLoadBalancer` and `enableReplicaLoadBalancer`. Note that in older versions of the operator (before PR #258) `replicaLoadBalancer` was responsible for both creating the replica service and attaching an LB to it; now the service is always created (since k8s service typically is free in the cloud setting), and this param only attaches an LB (that typically costs money).
|
||||
|
||||
For the same reason of compatibility, we maintain the `enable_load_balancer` setting in the operator config map that was previously used to attach a LB to the master service. Its value is examined after the deprecated `useLoadBalancer` setting from the Postgresql manifest but before the recommended `enableMasterLoadBalancer`. There is no equivalent option for the replica service since the service used to be always created with a load balancer.
|
||||
|
||||
# Setup development environment
|
||||
|
||||
The following steps guide you through the setup to work on the operator itself.
|
||||
|
|
|
|||
|
|
@ -36,7 +36,9 @@ data:
|
|||
team_admin_role: "admin"
|
||||
teams_api_url: http://fake-teams-api.default.svc.cluster.local
|
||||
workers: "4"
|
||||
enable_master_load_balancer: "true"
|
||||
# turn on/off load balancers for all Postgres clusters managed by the operator
|
||||
# LB settings in cluster manifests take priority over these settings
|
||||
# enable_master_load_balancer: "true"
|
||||
# enable_replica_load_balancer: "true"
|
||||
api_port: "8080"
|
||||
ring_log_lines: "100"
|
||||
|
|
|
|||
|
|
@ -696,8 +696,11 @@ func (c *Cluster) shouldCreateLoadBalancerForService(role PostgresRole, spec *sp
|
|||
return *spec.UseLoadBalancer
|
||||
}
|
||||
|
||||
if spec.EnableMasterLoadBalancer != nil {
|
||||
return *spec.EnableMasterLoadBalancer
|
||||
// `enable_load_balancer`` governs LB for a master service
|
||||
// there is no equivalent operator configmap option for the replica LB
|
||||
if c.OpConfig.EnableLoadBalancer != nil {
|
||||
c.logger.Debugf("The operator configmap sets the deprecated `enable_load_balancer` param. Consider using the `enable_master_load_balancer` or `enable_replica_load_balancer` instead.", c.Name)
|
||||
return *c.OpConfig.EnableLoadBalancer
|
||||
}
|
||||
|
||||
return c.OpConfig.EnableMasterLoadBalancer
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ type Config struct {
|
|||
TeamAdminRole string `name:"team_admin_role" default:"admin"`
|
||||
EnableMasterLoadBalancer bool `name:"enable_master_load_balancer" default:"false"`
|
||||
EnableReplicaLoadBalancer bool `name:"enable_replica_load_balancer" default:"false"`
|
||||
// deprecated and kept for backward compatibility
|
||||
EnableLoadBalancer *bool `name:"enable_load_balancer" default:"true"`
|
||||
MasterDNSNameFormat stringTemplate `name:"master_dns_name_format" default:"{cluster}.{team}.{hostedzone}"`
|
||||
ReplicaDNSNameFormat stringTemplate `name:"replica_dns_name_format" default:"{cluster}-repl.{team}.{hostedzone}"`
|
||||
PDBNameFormat stringTemplate `name:"pdb_name_format" default:"postgres-{cluster}-pdb"`
|
||||
|
|
|
|||
Loading…
Reference in New Issue