Merge 4f8aa40ce8 into 618ac156e6
This commit is contained in:
commit
5e112e943d
|
|
@ -719,6 +719,13 @@ In the CRD-based configuration they are grouped under the `load_balancer` key.
|
||||||
defines external traffic policy for load
|
defines external traffic policy for load
|
||||||
balancers. Allowed values are `Cluster` (default) and `Local`.
|
balancers. Allowed values are `Cluster` (default) and `Local`.
|
||||||
|
|
||||||
|
* **load_balancer_class**
|
||||||
|
specifies the load balancer class to use for LoadBalancer services. This is
|
||||||
|
useful when running multiple load balancer providers in the same cluster,
|
||||||
|
allowing you to select which provider should handle the service. For example,
|
||||||
|
`service.k8s.aws/nlb` for AWS Network Load Balancer. When not set, the
|
||||||
|
cluster's default load balancer class is used.
|
||||||
|
|
||||||
* **master_dns_name_format**
|
* **master_dns_name_format**
|
||||||
defines the DNS name string template for the master load balancer cluster.
|
defines the DNS name string template for the master load balancer cluster.
|
||||||
The default is `{cluster}.{namespace}.{hostedzone}`, where `{cluster}` is
|
The default is `{cluster}.{namespace}.{hostedzone}`, where `{cluster}` is
|
||||||
|
|
|
||||||
|
|
@ -473,6 +473,9 @@ spec:
|
||||||
replica_legacy_dns_name_format:
|
replica_legacy_dns_name_format:
|
||||||
type: string
|
type: string
|
||||||
default: "{cluster}-repl.{team}.{hostedzone}"
|
default: "{cluster}-repl.{team}.{hostedzone}"
|
||||||
|
load_balancer_class:
|
||||||
|
type: string
|
||||||
|
description: "LoadBalancerClass to use for LoadBalancer services"
|
||||||
aws_or_gcp:
|
aws_or_gcp:
|
||||||
type: object
|
type: object
|
||||||
properties:
|
properties:
|
||||||
|
|
|
||||||
|
|
@ -149,6 +149,7 @@ configuration:
|
||||||
enable_replica_load_balancer: false
|
enable_replica_load_balancer: false
|
||||||
enable_replica_pooler_load_balancer: false
|
enable_replica_pooler_load_balancer: false
|
||||||
external_traffic_policy: "Cluster"
|
external_traffic_policy: "Cluster"
|
||||||
|
# load_balancer_class: "service.k8s.aws/nlb"
|
||||||
master_dns_name_format: "{cluster}.{namespace}.{hostedzone}"
|
master_dns_name_format: "{cluster}.{namespace}.{hostedzone}"
|
||||||
# master_legacy_dns_name_format: "{cluster}.{team}.{hostedzone}"
|
# master_legacy_dns_name_format: "{cluster}.{team}.{hostedzone}"
|
||||||
replica_dns_name_format: "{cluster}-repl.{namespace}.{hostedzone}"
|
replica_dns_name_format: "{cluster}-repl.{namespace}.{hostedzone}"
|
||||||
|
|
|
||||||
|
|
@ -147,6 +147,7 @@ type LoadBalancerConfiguration struct {
|
||||||
ReplicaDNSNameFormat config.StringTemplate `json:"replica_dns_name_format,omitempty"`
|
ReplicaDNSNameFormat config.StringTemplate `json:"replica_dns_name_format,omitempty"`
|
||||||
ReplicaLegacyDNSNameFormat config.StringTemplate `json:"replica_legacy_dns_name_format,omitempty"`
|
ReplicaLegacyDNSNameFormat config.StringTemplate `json:"replica_legacy_dns_name_format,omitempty"`
|
||||||
ExternalTrafficPolicy string `json:"external_traffic_policy" default:"Cluster"`
|
ExternalTrafficPolicy string `json:"external_traffic_policy" default:"Cluster"`
|
||||||
|
LoadBalancerClass string `json:"load_balancer_class,omitempty"`
|
||||||
}
|
}
|
||||||
|
|
||||||
// AWSGCPConfiguration defines the configuration for AWS
|
// AWSGCPConfiguration defines the configuration for AWS
|
||||||
|
|
|
||||||
|
|
@ -2020,6 +2020,9 @@ func (c *Cluster) configureLoadBalanceService(serviceSpec *v1.ServiceSpec, sourc
|
||||||
|
|
||||||
c.logger.Debugf("final load balancer source ranges as seen in a service spec (not necessarily applied): %q", serviceSpec.LoadBalancerSourceRanges)
|
c.logger.Debugf("final load balancer source ranges as seen in a service spec (not necessarily applied): %q", serviceSpec.LoadBalancerSourceRanges)
|
||||||
serviceSpec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyType(c.OpConfig.ExternalTrafficPolicy)
|
serviceSpec.ExternalTrafficPolicy = v1.ServiceExternalTrafficPolicyType(c.OpConfig.ExternalTrafficPolicy)
|
||||||
|
if c.OpConfig.LoadBalancerClass != "" {
|
||||||
|
serviceSpec.LoadBalancerClass = &c.OpConfig.LoadBalancerClass
|
||||||
|
}
|
||||||
serviceSpec.Type = v1.ServiceTypeLoadBalancer
|
serviceSpec.Type = v1.ServiceTypeLoadBalancer
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -176,6 +176,7 @@ func (c *Controller) importConfigurationFromCRD(fromCRD *acidv1.OperatorConfigur
|
||||||
result.ReplicaDNSNameFormat = fromCRD.LoadBalancer.ReplicaDNSNameFormat
|
result.ReplicaDNSNameFormat = fromCRD.LoadBalancer.ReplicaDNSNameFormat
|
||||||
result.ReplicaLegacyDNSNameFormat = fromCRD.LoadBalancer.ReplicaLegacyDNSNameFormat
|
result.ReplicaLegacyDNSNameFormat = fromCRD.LoadBalancer.ReplicaLegacyDNSNameFormat
|
||||||
result.ExternalTrafficPolicy = util.Coalesce(fromCRD.LoadBalancer.ExternalTrafficPolicy, "Cluster")
|
result.ExternalTrafficPolicy = util.Coalesce(fromCRD.LoadBalancer.ExternalTrafficPolicy, "Cluster")
|
||||||
|
result.LoadBalancerClass = fromCRD.LoadBalancer.LoadBalancerClass
|
||||||
|
|
||||||
// AWS or GCP config
|
// AWS or GCP config
|
||||||
result.WALES3Bucket = fromCRD.AWSGCP.WALES3Bucket
|
result.WALES3Bucket = fromCRD.AWSGCP.WALES3Bucket
|
||||||
|
|
|
||||||
|
|
@ -220,6 +220,7 @@ type Config struct {
|
||||||
StorageResizeMode string `name:"storage_resize_mode" default:"pvc"`
|
StorageResizeMode string `name:"storage_resize_mode" default:"pvc"`
|
||||||
EnableLoadBalancer *bool `name:"enable_load_balancer"` // deprecated and kept for backward compatibility
|
EnableLoadBalancer *bool `name:"enable_load_balancer"` // deprecated and kept for backward compatibility
|
||||||
ExternalTrafficPolicy string `name:"external_traffic_policy" default:"Cluster"`
|
ExternalTrafficPolicy string `name:"external_traffic_policy" default:"Cluster"`
|
||||||
|
LoadBalancerClass string `name:"load_balancer_class"`
|
||||||
MasterDNSNameFormat StringTemplate `name:"master_dns_name_format" default:"{cluster}.{namespace}.{hostedzone}"`
|
MasterDNSNameFormat StringTemplate `name:"master_dns_name_format" default:"{cluster}.{namespace}.{hostedzone}"`
|
||||||
MasterLegacyDNSNameFormat StringTemplate `name:"master_legacy_dns_name_format" default:"{cluster}.{team}.{hostedzone}"`
|
MasterLegacyDNSNameFormat StringTemplate `name:"master_legacy_dns_name_format" default:"{cluster}.{team}.{hostedzone}"`
|
||||||
ReplicaDNSNameFormat StringTemplate `name:"replica_dns_name_format" default:"{cluster}-repl.{namespace}.{hostedzone}"`
|
ReplicaDNSNameFormat StringTemplate `name:"replica_dns_name_format" default:"{cluster}-repl.{namespace}.{hostedzone}"`
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue