Summary
The EKS GB200 training recipe chain admits K8s.server.version >= 1.32.4, but the GB200 NVLS performance validation path depends on the GA DRA API resource.k8s.io/v1, which only ships in Kubernetes 1.34+. On a 1.32/1.33 EKS GB200 cluster the recipe constraints pass, then the performance phase fails at runtime when the v1 ResourceClaimTemplate never reconciles — instead of the recipe rejecting the cluster up front.
Context
This was surfaced during cross-review of #1233 (OKE GB200 perf goals). The OKE training chain had the identical gap and is being fixed there by flooring the OKE training overlays at >= 1.34. The EKS leg is the same latent issue but out of scope for #1233 (which only touches OKE), so it's tracked here.
Evidence
- Shared DRA GVR pinned to
resource.k8s.io/v1: validators/performance/dra_gvr.go (resourceClaimTemplateGVR, Version v1).
- NVLS IMEX path waits on that GVR:
validators/performance/nccl_all_reduce_bw_constraint.go (waitForIMEXClaimTemplate).
- EKS GB200 training floor still
>= 1.32.4:
recipes/overlays/gb200-eks-training.yaml (K8s.server.version)
recipes/overlays/gb200-eks-ubuntu-training.yaml (K8s.server.version)
resource.k8s.io/v1 is GA as of Kubernetes 1.34 (1.32 → v1beta1, 1.33 → v1beta2).
Proposed fix
Raise the EKS GB200 training overlays' K8s.server.version floor to >= 1.34 (mirroring the OKE fix), or have the validator skip/degrade clearly when resource.k8s.io/v1 is not served. Audit any other GB200 leaves that run an NVLS/DRA-v1 performance phase while admitting < 1.34.
Acceptance criteria
Summary
The EKS GB200 training recipe chain admits
K8s.server.version >= 1.32.4, but the GB200 NVLS performance validation path depends on the GA DRA APIresource.k8s.io/v1, which only ships in Kubernetes 1.34+. On a 1.32/1.33 EKS GB200 cluster the recipe constraints pass, then the performance phase fails at runtime when thev1ResourceClaimTemplatenever reconciles — instead of the recipe rejecting the cluster up front.Context
This was surfaced during cross-review of #1233 (OKE GB200 perf goals). The OKE training chain had the identical gap and is being fixed there by flooring the OKE training overlays at
>= 1.34. The EKS leg is the same latent issue but out of scope for #1233 (which only touches OKE), so it's tracked here.Evidence
resource.k8s.io/v1:validators/performance/dra_gvr.go(resourceClaimTemplateGVR, Versionv1).validators/performance/nccl_all_reduce_bw_constraint.go(waitForIMEXClaimTemplate).>= 1.32.4:recipes/overlays/gb200-eks-training.yaml(K8s.server.version)recipes/overlays/gb200-eks-ubuntu-training.yaml(K8s.server.version)resource.k8s.io/v1is GA as of Kubernetes 1.34 (1.32 →v1beta1, 1.33 →v1beta2).Proposed fix
Raise the EKS GB200 training overlays'
K8s.server.versionfloor to>= 1.34(mirroring the OKE fix), or have the validator skip/degrade clearly whenresource.k8s.io/v1is not served. Audit any other GB200 leaves that run an NVLS/DRA-v1performance phase while admitting< 1.34.Acceptance criteria
v1performance phase reject< 1.34clusters at recipe-resolution time.>= 1.34.