Skip to content
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

SYS.1.6.A15 #15

Open
sluetze opened this issue Nov 7, 2023 · 3 comments
Open

SYS.1.6.A15 #15

sluetze opened this issue Nov 7, 2023 · 3 comments
Assignees
Labels
existing-rules Existing rules exist for the requirement new-rules Issue which requires us to write new rules

Comments

@sluetze
Copy link

sluetze commented Nov 7, 2023

No description provided.

@sluetze
Copy link
Author

sluetze commented Jul 17, 2024

For each container, resources on the host system, such as CPU, volatile and persistent memory, and network bandwidth, SHOULD be appropriately reserved and limited.

OpenShift supports the configuration of quotas for a project (client). Applications can have their resources appropriately limited using limits/requests.

Network bandwidth is limited at the pod level and can be determined separately according to incoming and outgoing network bandwidth. In addition, outgoing traffic (egress) can be marked at the namespace level with differentiated services code point (DSCP) classifications in order to assign quality of service classes to the outgoing packets in the physical network.

It SHOULD be defined and documented how the system reacts if these limitations are exceeded.

This requirement must be implemented organizationally.

Note: The behavior of OpenShift completely replicates the standard behavior of Kubernetes. If CPU limits are exceeded, the process is slowed down. If volatile memory is exceeded, the process is stopped and restarted by the scheduler. The persistent memory management is responsible for exceeding the persistent memory - OpenShift will not enforce or limit anything here. Compliance with the limited network bandwidth is enforced by dropping packets that exceed the limit.

@sluetze sluetze added the existing-rules Existing rules exist for the requirement label Jul 31, 2024
@lichtblaugue
Copy link

@sluetze Not sure about which existing rules are you talking. (CPU and RAM)?

As far as I know egress traffic control is only possible with OVN. There is no option with SDN.
Can we please discuss both topics?

@sluetze
Copy link
Author

sluetze commented Oct 2, 2024

@sluetze Not sure about which existing rules are you talking. (CPU and RAM)?

imho existing rules for the quota / limits / requests could be:

rules:
  - project_config_and_template_resource_quota
  - project_template_resource_quota
  - resource_requests_limits_in_daemonset
  - resource_requests_limits_in_deployment
  - resource_requests_limits_in_statefulset
  - resource_requests_quota
  - resource_requests_quota_cluster
  - resource_requests_quota_per_project

As far as I know egress traffic control is only possible with OVN. There is no option with SDN. Can we please discuss both topics?

What do you mean with SDN? OpenShiftSDN? because that is deprecated. Or do you mean other SDNs?

But there is no existing rule for checking the KubernetesOVN Annotation (see https://access.redhat.com/solutions/5018951 )

I am also not sure if this would be a good automatic check, since I believe not many will use this limitation as it has operational impacts. We could make it a manual rule with example of KubernetesOVN which would make it apply to a broader set of Network Plugins.

@sluetze sluetze added the new-rules Issue which requires us to write new rules label Oct 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
existing-rules Existing rules exist for the requirement new-rules Issue which requires us to write new rules
Projects
Status: Upstream PR
Development

No branches or pull requests

2 participants