-
Notifications
You must be signed in to change notification settings - Fork 22
Set memory limits for agents' Openshift deployments #359
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Code Review
This pull request adds memory limits to the OpenShift deployments for various agents, which is a good step towards better resource management. My review focuses on enhancing this by following Kubernetes best practices for resource allocation. I've suggested adding CPU limits (which were mentioned in the original TODO) and also setting CPU and memory requests. This will ensure the pods have a higher Quality of Service (QoS) class, are scheduled more reliably, and don't negatively impact other workloads on the same nodes. The specific CPU values in my suggestions are placeholders and should be tuned based on application profiling.
| resources: | ||
| limits: | ||
| memory: 4Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While setting a memory limit is a good improvement, it's highly recommended to also set CPU limits as well as requests for both CPU and memory. This ensures predictable performance and resource allocation. The TODO that was removed also mentioned CPU limits.
Setting requests is important for Kubernetes to schedule the pod appropriately, and it provides a higher Quality of Service (QoS) class. Setting CPU limits prevents the container from consuming excessive CPU and impacting other applications.
Consider defining the full set of resource constraints. The CPU values here are placeholders and should be adjusted based on profiling.
resources:
requests:
memory: 4Gi
cpu: "1"
limits:
memory: 4Gi
cpu: "2"| resources: | ||
| limits: | ||
| memory: 4Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While setting a memory limit is a good improvement, it's highly recommended to also set CPU limits as well as requests for both CPU and memory. This ensures predictable performance and resource allocation. The TODO that was removed also mentioned CPU limits.
Setting requests is important for Kubernetes to schedule the pod appropriately, and it provides a higher Quality of Service (QoS) class. Setting CPU limits prevents the container from consuming excessive CPU and impacting other applications.
Consider defining the full set of resource constraints. The CPU values here are placeholders and should be adjusted based on profiling.
resources:
requests:
memory: 4Gi
cpu: "1"
limits:
memory: 4Gi
cpu: "2"| resources: | ||
| limits: | ||
| memory: 1Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While setting a memory limit is a good improvement, it's highly recommended to also set CPU limits as well as requests for both CPU and memory. This ensures predictable performance and resource allocation. The TODO that was removed also mentioned CPU limits.
Setting requests is important for Kubernetes to schedule the pod appropriately, and it provides a higher Quality of Service (QoS) class. Setting CPU limits prevents the container from consuming excessive CPU and impacting other applications.
Consider defining the full set of resource constraints. The CPU values here are placeholders and should be adjusted based on profiling.
resources:
requests:
memory: 1Gi
cpu: "500m"
limits:
memory: 1Gi
cpu: "1"| resources: | ||
| limits: | ||
| memory: 1Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While setting a memory limit is a good improvement, it's highly recommended to also set CPU limits as well as requests for both CPU and memory. This ensures predictable performance and resource allocation. The TODO that was removed also mentioned CPU limits.
Setting requests is important for Kubernetes to schedule the pod appropriately, and it provides a higher Quality of Service (QoS) class. Setting CPU limits prevents the container from consuming excessive CPU and impacting other applications.
Consider defining the full set of resource constraints. The CPU values here are placeholders and should be adjusted based on profiling.
resources:
requests:
memory: 1Gi
cpu: "500m"
limits:
memory: 1Gi
cpu: "1"| resources: | ||
| limits: | ||
| memory: 1Gi |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
While setting a memory limit is a good improvement, it's highly recommended to also set CPU limits as well as requests for both CPU and memory. This ensures predictable performance and resource allocation. The TODO that was removed also mentioned CPU limits.
Setting requests is important for Kubernetes to schedule the pod appropriately, and it provides a higher Quality of Service (QoS) class. Setting CPU limits prevents the container from consuming excessive CPU and impacting other applications.
Consider defining the full set of resource constraints. The CPU values here are placeholders and should be adjusted based on profiling.
resources:
requests:
memory: 1Gi
cpu: "500m"
limits:
memory: 1Gi
cpu: "1"
No description provided.