Skip to content

Commit

Permalink
fix: update resoure request and limits across containers
Browse files Browse the repository at this point in the history
Signed-off-by: Santosh Pillai <[email protected]>
  • Loading branch information
sp98 committed Jun 17, 2022
1 parent 0c398aa commit d9b5022
Show file tree
Hide file tree
Showing 3 changed files with 54 additions and 19 deletions.
48 changes: 29 additions & 19 deletions controllers/defaults.go
Original file line number Diff line number Diff line change
Expand Up @@ -70,25 +70,41 @@ var (

// CSI Controller resource requests/limits
// TODO: Reduce these values and reach optimistic values without effecting performance
TopolvmControllerMemRequest = "250Mi"
TopolvmControllerMemLimit = "250Mi"
TopolvmControllerCPURequest = "250m"
TopolvmControllerCPULimit = "250m"
TopolvmControllerMemRequest = "100Mi"
TopolvmControllerMemLimit = "150Mi"
TopolvmControllerCPURequest = "100m"
TopolvmControllerCPULimit = "100m"

TopolvmCsiProvisionerMemRequest = "100Mi"
TopolvmCsiProvisionerMemRequest = "50Mi"
TopolvmCsiProvisionerMemLimit = "100Mi"
TopolvmCsiProvisionerCPURequest = "100m"
TopolvmCsiProvisionerCPULimit = "100m"
TopolvmCsiProvisionerCPURequest = "30m"
TopolvmCsiProvisionerCPULimit = "50m"

TopolvmCsiResizerMemRequest = "100Mi"
TopolvmCsiResizerMemRequest = "50Mi"
TopolvmCsiResizerMemLimit = "100Mi"
TopolvmCsiResizerCPURequest = "100m"
TopolvmCsiResizerCPULimit = "100m"
TopolvmCsiResizerCPURequest = "20m"
TopolvmCsiResizerCPULimit = "50m"

TopolvmCsiSnapshotterMemRequest = "100Mi"
TopolvmCsiSnapshotterMemRequest = "50Mi"
TopolvmCsiSnapshotterMemLimit = "100Mi"
TopolvmCsiSnapshotterCPURequest = "100m"
TopolvmCsiSnapshotterCPULimit = "100m"
TopolvmCsiSnapshotterCPURequest = "20m"
TopolvmCsiSnapshotterCPULimit = "50m"

VgManagerMemRequest = "50Mi"
VgManagerMemLimit = "100Mi"
VgManagerCPURequest = "30m"
VgManagerCPULimit = "50m"

// topoLVM Node resource requests/limits
TopolvmNodeMemRequest = "100Mi"
TopolvmNodeMemLimit = "150Mi"
TopolvmNodeCPURequest = "50m"
TopolvmNodeCPULimit = "100m"

CSIRegistrarMemRequest = "30Mi"
CSIRegistrarMemLimit = "50Mi"
CSIRegistrarCPURequest = "20m"
CSIRegistrarCPULimit = "30m"

// CSI Provisioner requires below environment values to make use of CSIStorageCapacity
PodNameEnv = "POD_NAME"
Expand All @@ -102,12 +118,6 @@ var (
TopolvmNodeContainerHealthzName = "healthz"
LvmdConfigFile = "/etc/topolvm/lvmd.yaml"

// topoLVM Node resource requests/limits
TopolvmNodeMemRequest = "250Mi"
TopolvmNodeMemLimit = "250Mi"
TopolvmNodeCPURequest = "250m"
TopolvmNodeCPULimit = "250m"

DefaultCSISocket = "/run/topolvm/csi-topolvm.sock"
DefaultLVMdSocket = "/run/lvmd/lvmd.sock"
DeviceClassKey = "topolvm.cybozu.com/device-class"
Expand Down
12 changes: 12 additions & 0 deletions controllers/topolvm_node.go
Original file line number Diff line number Diff line change
Expand Up @@ -354,12 +354,24 @@ func getCsiRegistrarContainer() *corev1.Container {
"rm -rf /registration/topolvm.cybozu.com /registration/topolvm.cybozu.com-reg.sock",
}

requirements := corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse(CSIRegistrarCPULimit),
corev1.ResourceMemory: resource.MustParse(CSIRegistrarMemLimit),
},
Requests: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse(CSIRegistrarCPURequest),
corev1.ResourceMemory: resource.MustParse(CSIRegistrarMemRequest),
},
}

csiRegistrar := &corev1.Container{
Name: "csi-registrar",
Image: CsiRegistrarImage,
Args: args,
Lifecycle: &corev1.Lifecycle{PreStop: &corev1.LifecycleHandler{Exec: &corev1.ExecAction{Command: preStopCmd}}},
VolumeMounts: volumeMounts,
Resources: requirements,
}
return csiRegistrar
}
Expand Down
13 changes: 13 additions & 0 deletions controllers/vgmanager_daemonset.go
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ import (
lvmv1alpha1 "github.com/red-hat-storage/lvm-operator/api/v1alpha1"
appsv1 "k8s.io/api/apps/v1"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)

Expand Down Expand Up @@ -132,6 +133,17 @@ func newVGManagerDaemonset(lvmCluster *lvmv1alpha1.LVMCluster, namespace string,
command := []string{
"/vgmanager",
}

resourceRequirements := corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse(VgManagerCPULimit),
corev1.ResourceMemory: resource.MustParse(VgManagerMemLimit),
},
Requests: corev1.ResourceList{
corev1.ResourceCPU: resource.MustParse(VgManagerCPURequest),
corev1.ResourceMemory: resource.MustParse(VgManagerMemRequest),
},
}
containers := []corev1.Container{
{
Name: VGManagerUnit,
Expand All @@ -142,6 +154,7 @@ func newVGManagerDaemonset(lvmCluster *lvmv1alpha1.LVMCluster, namespace string,
RunAsUser: &zero,
},
VolumeMounts: volumeMounts,
Resources: resourceRequirements,
Env: []corev1.EnvVar{
{
Name: "NODE_NAME",
Expand Down

0 comments on commit d9b5022

Please sign in to comment.