Skip to content

Commit ebb3756

Browse files
committed
watch monitor changed
1 parent e49e90c commit ebb3756

File tree

4 files changed

+31
-6
lines changed

4 files changed

+31
-6
lines changed

Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ ARG GIT_SHA=0000000
1313

1414
WORKDIR /src
1515

16-
COPY go.mod ./ go.sum ./
16+
COPY go.mod go.sum ./
1717
RUN go mod download
1818

1919
COPY pkg ./ cmd ./ version ./

pkg/apis/redis/v1alpha1/default.go

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,10 @@ import (
1212
)
1313

1414
const (
15-
minMasterSize = 3
16-
minClusterReplicas = 1
17-
defaultRedisImage = "redis:5.0.4-alpine"
15+
minMasterSize = 3
16+
minClusterReplicas = 1
17+
defaultRedisImage = "redis:5.0.4-alpine"
18+
defaultMonitorImage = "oliver006/redis_exporter:latest"
1819
)
1920

2021
func (in *DistributedRedisCluster) DefaultSpec(log logr.Logger) bool {
@@ -41,6 +42,11 @@ func (in *DistributedRedisCluster) DefaultSpec(log logr.Logger) bool {
4142

4243
mon := in.Spec.Monitor
4344
if mon != nil {
45+
if mon.Image == "" {
46+
mon.Image = defaultMonitorImage
47+
update = true
48+
}
49+
4450
if mon.Prometheus == nil {
4551
mon.Prometheus = &PrometheusSpec{}
4652
update = true

pkg/controller/manager/ensurer.go

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -119,7 +119,25 @@ func shouldUpdateRedis(cluster *redisv1alpha1.DistributedRedisCluster, sts *apps
119119
if result := expectResource.Limits.Cpu().Cmp(*currentResource.Limits.Cpu()); result != 0 {
120120
return true
121121
}
122-
return false
122+
return monitorChanged(cluster, sts)
123+
}
124+
125+
func monitorChanged(cluster *redisv1alpha1.DistributedRedisCluster, sts *appsv1.StatefulSet) bool {
126+
if cluster.Spec.Monitor != nil {
127+
for _, container := range sts.Spec.Template.Spec.Containers {
128+
if container.Name == statefulsets.ExporterContainerName {
129+
return false
130+
}
131+
}
132+
return true
133+
} else {
134+
for _, container := range sts.Spec.Template.Spec.Containers {
135+
if container.Name == statefulsets.ExporterContainerName {
136+
return true
137+
}
138+
}
139+
return false
140+
}
123141
}
124142

125143
func (r *realEnsureResource) ensureRedisPDB(cluster *redisv1alpha1.DistributedRedisCluster, name string, labels map[string]string) error {

pkg/resources/statefulsets/statefulset.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ const (
2424
redisRestoreLocalVolumeName = "redis-local"
2525
redisServerName = "redis"
2626
hostnameTopologyKey = "kubernetes.io/hostname"
27+
ExporterContainerName = "exporter"
2728

2829
graceTime = 30
2930

@@ -282,7 +283,7 @@ func redisServerContainer(cluster *redisv1alpha1.DistributedRedisCluster, passwo
282283

283284
func redisExporterContainer(cluster *redisv1alpha1.DistributedRedisCluster, password *corev1.EnvVar) corev1.Container {
284285
container := corev1.Container{
285-
Name: "exporter",
286+
Name: ExporterContainerName,
286287
Args: append([]string{
287288
fmt.Sprintf("--web.listen-address=:%v", cluster.Spec.Monitor.Prometheus.Port),
288289
fmt.Sprintf("--web.telemetry-path=%v", redisv1alpha1.PrometheusExporterTelemetryPath),

0 commit comments

Comments
 (0)