Skip to content

Commit 466ce85

Browse files
committed
Ensure pods limits.
1 parent eb32d60 commit 466ce85

File tree

1 file changed

+30
-0
lines changed

1 file changed

+30
-0
lines changed

pkg/controller/mysqlcluster/internal/syncer/statefullset.go

Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import (
2424
"github.com/presslabs/controller-util/mergo/transformers"
2525
apps "k8s.io/api/apps/v1"
2626
core "k8s.io/api/core/v1"
27+
"k8s.io/apimachinery/pkg/api/resource"
2728
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
2829
"k8s.io/apimachinery/pkg/runtime"
2930
"k8s.io/apimachinery/pkg/util/intstr"
@@ -364,6 +365,7 @@ func (s *sfsSyncer) ensureContainersSpec() []core.Container {
364365
Name: HelperXtrabackupPortName,
365366
ContainerPort: HelperXtrabackupPort,
366367
})
368+
helper.Resources = ensureResources(containerSidecarName)
367369

368370
// HELPER container
369371
helper.ReadinessProbe = ensureProbe(30, 5, 5, core.Handler{
@@ -388,6 +390,9 @@ func (s *sfsSyncer) ensureContainersSpec() []core.Container {
388390
Name: ExporterPortName,
389391
ContainerPort: ExporterPort,
390392
})
393+
394+
exporter.Resources = ensureResources(containerExporterName)
395+
391396
exporter.LivenessProbe = ensureProbe(30, 30, 30, core.Handler{
392397
HTTPGet: &core.HTTPGetAction{
393398
Path: ExporterPath,
@@ -409,6 +414,7 @@ func (s *sfsSyncer) ensureContainersSpec() []core.Container {
409414
"--defaults-file", fmt.Sprintf("%s/client.cnf", ConfVolumeMountPath),
410415
},
411416
)
417+
heartbeat.Resources = ensureResources(containerHeartBeatName)
412418

413419
containers := []core.Container{
414420
mysql,
@@ -431,6 +437,9 @@ func (s *sfsSyncer) ensureContainersSpec() []core.Container {
431437
s.opt.HelperImage,
432438
command,
433439
)
440+
441+
killer.Resources = ensureResources(containerKillerName)
442+
434443
containers = append(containers, killer)
435444
}
436445

@@ -631,3 +640,24 @@ func ensureProbe(delay, timeout, period int32, handler core.Handler) *core.Probe
631640
func ensurePorts(ports ...core.ContainerPort) []core.ContainerPort {
632641
return ports
633642
}
643+
644+
func ensureResources(name string) core.ResourceRequirements {
645+
limits := core.ResourceList{
646+
core.ResourceCPU: resource.MustParse("50m"),
647+
}
648+
requests := core.ResourceList{
649+
core.ResourceCPU: resource.MustParse("10m"),
650+
}
651+
652+
switch name {
653+
case containerExporterName:
654+
limits = core.ResourceList{
655+
core.ResourceCPU: resource.MustParse("100m"),
656+
}
657+
}
658+
659+
return core.ResourceRequirements{
660+
Limits: limits,
661+
Requests: requests,
662+
}
663+
}

0 commit comments

Comments
 (0)