Skip to main content

ApplyK8sResourceOverrides

Ensures that both resource requests and limits are set for Kubernetes resources. This is necessary because user executions run in namespaces with project quotas, and the Kubernetes scheduler rejects requests that omit these. This function is used by plugins that do not construct a default Flyte container and thus do not receive default resource override treatment.

def ApplyK8sResourceOverrides(
teMetadata: pluginmachinery_core.TaskExecutionMetadata,
resources: *v1.ResourceRequirements
) - > v1.ResourceRequirements

Ensures that both resource requests and limits are set for Kubernetes resources. This is required because user executions run in namespaces bound with a project quota, and the Kubernetes scheduler will reject requests that omit these. This function is called by plugins that do not construct a default Flyte container and therefore do not receive the default resource override treatment and subsequent validation.

Parameters

NameTypeDescription
teMetadatapluginmachinery_core.TaskExecutionMetadataTask execution metadata, used to retrieve platform-specific resource requirements.
resources*v1.ResourceRequirementsThe Kubernetes resource requirements to be overridden or supplemented.

Returns

TypeDescription
v1.ResourceRequirementsThe modified Kubernetes resource requirements with requests and limits ensured.