Skip to content

Commit

Permalink
syncer: support external network access monitor radondb#156
Browse files Browse the repository at this point in the history
  • Loading branch information
runkecheng committed Aug 2, 2021
1 parent fff1968 commit ea8591e
Show file tree
Hide file tree
Showing 2 changed files with 37 additions and 12 deletions.
24 changes: 18 additions & 6 deletions cluster/syncer/follower_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,18 +41,30 @@ func NewFollowerSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interfac
},
}
return syncer.NewObjectSyncer("FollowerSVC", c.Unwrap(), service, cli, func() error {
service.Spec.Type = "ClusterIP"
if service.Spec.Type == "" {
service.Spec.Type = "ClusterIP"
}

service.Spec.Selector = c.GetSelectorLabels()
service.Spec.Selector["role"] = "follower"
service.Spec.Selector["healthy"] = "yes"

if len(service.Spec.Ports) != 1 {
service.Spec.Ports = make([]corev1.ServicePort, 1)
svcPorts := []corev1.ServicePort{
{
Name: utils.MysqlPortName,
Port: utils.MysqlPort,
TargetPort: intstr.FromInt(utils.MysqlPort),
},
}

service.Spec.Ports[0].Name = utils.MysqlPortName
service.Spec.Ports[0].Port = utils.MysqlPort
service.Spec.Ports[0].TargetPort = intstr.FromInt(utils.MysqlPort)
if c.Spec.MetricsOpts.Enabled {
svcPorts = append(svcPorts, corev1.ServicePort{
Name: utils.MetricsPortName,
Port: utils.MetricsPort,
TargetPort: intstr.FromInt(utils.MetricsPort),
})
}
service.Spec.Ports = svcPorts
return nil
})
}
25 changes: 19 additions & 6 deletions cluster/syncer/leader_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -41,17 +41,30 @@ func NewLeaderSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface
},
}
return syncer.NewObjectSyncer("LeaderSVC", c.Unwrap(), service, cli, func() error {
service.Spec.Type = "ClusterIP"
if service.Spec.Type == "" {
service.Spec.Type = "ClusterIP"
}

service.Spec.Selector = c.GetSelectorLabels()
service.Spec.Selector["role"] = "leader"

if len(service.Spec.Ports) != 1 {
service.Spec.Ports = make([]corev1.ServicePort, 1)
svcPorts := []corev1.ServicePort{
{
Name: utils.MysqlPortName,
Port: utils.MysqlPort,
TargetPort: intstr.FromInt(utils.MysqlPort),
},
}

if c.Spec.MetricsOpts.Enabled {
svcPorts = append(svcPorts, corev1.ServicePort{
Name: utils.MetricsPortName,
Port: utils.MetricsPort,
TargetPort: intstr.FromInt(utils.MetricsPort),
})
}
service.Spec.Ports = svcPorts

service.Spec.Ports[0].Name = utils.MysqlPortName
service.Spec.Ports[0].Port = utils.MysqlPort
service.Spec.Ports[0].TargetPort = intstr.FromInt(utils.MysqlPort)
return nil
})
}

0 comments on commit ea8591e

Please sign in to comment.