fix: set resources for gateway containers (#1276)

Signed-off-by: Michal Vala <mvala@redhat.com>
pull/1278/head
Michal Vala 2022-01-04 10:52:04 +01:00 committed by GitHub
parent 04d175bffd
commit 45722e2db5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 50 additions and 2 deletions

View File

@ -17,6 +17,8 @@ import (
"fmt"
"io/ioutil"
"k8s.io/apimachinery/pkg/api/resource"
"sigs.k8s.io/yaml"
"github.com/sirupsen/logrus"
@ -535,11 +537,31 @@ func getContainersSpec(instance *orgv1.CheCluster) []corev1.Container {
Image: gatewayImage,
ImagePullPolicy: corev1.PullAlways,
VolumeMounts: getTraefikContainerVolumeMounts(instance),
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("4Gi"),
corev1.ResourceCPU: resource.MustParse("1"),
},
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("128Mi"),
corev1.ResourceCPU: resource.MustParse("0.1"),
},
},
},
{
Name: "configbump",
Image: configSidecarImage,
ImagePullPolicy: corev1.PullAlways,
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("256Mi"),
corev1.ResourceCPU: resource.MustParse("0.5"),
},
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("64Mi"),
corev1.ResourceCPU: resource.MustParse("0.05"),
},
},
VolumeMounts: []corev1.VolumeMount{
{
Name: "dynamic-config",

View File

@ -66,8 +66,10 @@ func TestSyncAllToCluster(t *testing.T) {
t.Fatalf("Failed to get deployment: %v", err)
}
if len(deployment.Spec.Template.Spec.Containers) != 2 {
t.Fatalf("With classic multi-user, there should be 2 containers in the gateway, traefik and configbump. But it has '%d' containers.", len(deployment.Spec.Template.Spec.Containers))
assert.Lenf(t, deployment.Spec.Template.Spec.Containers, 2,
"With classic multi-user, there should be 2 containers in the gateway, traefik and configbump. But it has '%d' containers.", len(deployment.Spec.Template.Spec.Containers))
for _, c := range deployment.Spec.Template.Spec.Containers {
assert.NotNil(t, c.Resources, "container '%s' has not set resources", c.Name)
}
service := &corev1.Service{}
@ -121,6 +123,7 @@ func TestNativeUserGateway(t *testing.T) {
}
for _, c := range deployment.Spec.Template.Spec.Containers {
assert.NotNil(t, c.Resources, "container '%s' has not set resources", c.Name)
if c.Name == "gateway" {
if len(c.VolumeMounts) != 3 {
t.Fatalf("gateway container should have 3 mounts, but it has '%d' ... \n%+v", len(c.VolumeMounts), c.VolumeMounts)

View File

@ -17,6 +17,7 @@ import (
"github.com/eclipse-che/che-operator/pkg/deploy"
"github.com/eclipse-che/che-operator/pkg/util"
corev1 "k8s.io/api/core/v1"
"k8s.io/apimachinery/pkg/api/resource"
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
)
@ -64,6 +65,16 @@ func getKubeRbacProxyContainerSpec(instance *orgv1.CheCluster) corev1.Container
MountPath: "/etc/kube-rbac-proxy",
},
},
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("512Mi"),
corev1.ResourceCPU: resource.MustParse("0.5"),
},
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("64Mi"),
corev1.ResourceCPU: resource.MustParse("0.1"),
},
},
}
}

View File

@ -16,6 +16,8 @@ import (
"fmt"
"strings"
"k8s.io/apimachinery/pkg/api/resource"
orgv1 "github.com/eclipse-che/che-operator/api/v1"
"github.com/eclipse-che/che-operator/pkg/deploy"
"github.com/eclipse-che/che-operator/pkg/util"
@ -142,6 +144,16 @@ func getOauthProxyContainerSpec(instance *orgv1.CheCluster) corev1.Container {
MountPath: "/etc/oauth-proxy",
},
},
Resources: corev1.ResourceRequirements{
Limits: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("512Mi"),
corev1.ResourceCPU: resource.MustParse("0.5"),
},
Requests: corev1.ResourceList{
corev1.ResourceMemory: resource.MustParse("64Mi"),
corev1.ResourceCPU: resource.MustParse("0.1"),
},
},
Ports: []corev1.ContainerPort{
{ContainerPort: GatewayServicePort, Protocol: "TCP"},
},