Skip to content

Commit 7e85f4f

Browse files
authored
Merge pull request #252 from runkecheng/dmp_svc
*: Support extranet access service. #251
2 parents 0cee061 + a552074 commit 7e85f4f

File tree

3 files changed

+21
-6
lines changed

3 files changed

+21
-6
lines changed

cluster/syncer/follower_service.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import (
2929

3030
// NewFollowerSVCSyncer returns follower service syncer.
3131
func NewFollowerSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface {
32+
labels := c.GetLabels()
33+
labels["mysql.radondb.com/service-type"] = string(utils.FollowerService)
3234
service := &corev1.Service{
3335
TypeMeta: metav1.TypeMeta{
3436
APIVersion: "v1",
@@ -37,11 +39,14 @@ func NewFollowerSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interfac
3739
ObjectMeta: metav1.ObjectMeta{
3840
Name: c.GetNameForResource(utils.FollowerService),
3941
Namespace: c.Namespace,
40-
Labels: c.GetLabels(),
42+
Labels: labels,
4143
},
4244
}
4345
return syncer.NewObjectSyncer("FollowerSVC", c.Unwrap(), service, cli, func() error {
44-
service.Spec.Type = "ClusterIP"
46+
// Allows to modify the service access method, the default is ClusterIP.
47+
if service.Spec.Type == "" {
48+
service.Spec.Type = "ClusterIP"
49+
}
4550
service.Spec.Selector = c.GetSelectorLabels()
4651
service.Spec.Selector["role"] = "follower"
4752
service.Spec.Selector["healthy"] = "yes"

cluster/syncer/leader_service.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import (
2929

3030
// NewLeaderSVCSyncer returns leader service syncer.
3131
func NewLeaderSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface {
32+
labels := c.GetLabels()
33+
labels["mysql.radondb.com/service-type"] = string(utils.LeaderService)
3234
service := &corev1.Service{
3335
TypeMeta: metav1.TypeMeta{
3436
APIVersion: "v1",
@@ -37,11 +39,14 @@ func NewLeaderSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface
3739
ObjectMeta: metav1.ObjectMeta{
3840
Name: c.GetNameForResource(utils.LeaderService),
3941
Namespace: c.Namespace,
40-
Labels: c.GetLabels(),
42+
Labels: labels,
4143
},
4244
}
4345
return syncer.NewObjectSyncer("LeaderSVC", c.Unwrap(), service, cli, func() error {
44-
service.Spec.Type = "ClusterIP"
46+
// Allows to modify the service access method, the default is ClusterIP.
47+
if service.Spec.Type == "" {
48+
service.Spec.Type = "ClusterIP"
49+
}
4550
service.Spec.Selector = c.GetSelectorLabels()
4651
service.Spec.Selector["role"] = "leader"
4752

cluster/syncer/metrics_service.go

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@ import (
2929

3030
// NewMetricsSVCSyncer returns metrics service syncer.
3131
func NewMetricsSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface {
32+
labels := c.GetLabels()
33+
labels["mysql.radondb.com/service-type"] = string(utils.MetricsService)
3234
service := &corev1.Service{
3335
TypeMeta: metav1.TypeMeta{
3436
APIVersion: "v1",
@@ -37,11 +39,14 @@ func NewMetricsSVCSyncer(cli client.Client, c *cluster.Cluster) syncer.Interface
3739
ObjectMeta: metav1.ObjectMeta{
3840
Name: c.GetNameForResource(utils.MetricsService),
3941
Namespace: c.Namespace,
40-
Labels: c.GetLabels(),
42+
Labels: labels,
4143
},
4244
}
4345
return syncer.NewObjectSyncer("MetricsSVC", c.Unwrap(), service, cli, func() error {
44-
service.Spec.Type = "ClusterIP"
46+
// Allows to modify the service access method, the default is ClusterIP.
47+
if service.Spec.Type == "" {
48+
service.Spec.Type = "ClusterIP"
49+
}
4550
service.Spec.Selector = c.GetSelectorLabels()
4651

4752
if len(service.Spec.Ports) != 1 {

0 commit comments

Comments
 (0)