Live
Serving Cloudflare Workers Static Assets from a URL PrefixAlloyDB Omni Web UI reaches GA: a read‑only observability console for on‑prem and container deploymentsVolcano 1.16 brings NamespaceQueue, fairshare and HyperNode extensions for tighter multi‑tenant schedulingAutomated Model Routing with GitHub Copilot Fusion Reduces Cost and LatencyGitHub Copilot Memory and Dreaming Extend Context for Engineering WorkflowsDeploying Distributed PyTorch on EKS with the Ray Train DLC and EFA without Custom ImagesManaging Copilot Session Continuity and Agent Hosts in VS CodeBuilding a Governed Multi‑Account Agentic AI Platform with Bedrock AgentCoreServing Cloudflare Workers Static Assets from a URL PrefixAlloyDB Omni Web UI reaches GA: a read‑only observability console for on‑prem and container deploymentsVolcano 1.16 brings NamespaceQueue, fairshare and HyperNode extensions for tighter multi‑tenant schedulingAutomated Model Routing with GitHub Copilot Fusion Reduces Cost and LatencyGitHub Copilot Memory and Dreaming Extend Context for Engineering WorkflowsDeploying Distributed PyTorch on EKS with the Ray Train DLC and EFA without Custom ImagesManaging Copilot Session Continuity and Agent Hosts in VS CodeBuilding a Governed Multi‑Account Agentic AI Platform with Bedrock AgentCore
AWS

Deploying Distributed PyTorch on EKS with the Ray Train DLC and EFA without Custom Images

AI SummaryPowered by AI

AWS now publishes a ready‑to‑run Ray Train Deep Learning Container that bundles CUDA, NCCL, EFA libraries and Ray, removing the need to build and maintain a custom training image. This change cuts build overhead, guarantees component compatibility, and lets teams focus on model code and cluster configuration.

The key change is the availability of a public Ray Train DLC that already contains the CUDA runtime, PyTorch, NCCL, the EFA userspace stack, and a supported Ray version. Practitioners no longer have to assemble and version‑lock these pieces themselves; they can pull the image public.ecr.aws/deep-learning-containers/ray:train-ml-cuda-v1.1 and run it directly on Amazon EKS.

Why the Prebuilt Ray Train DLC Matters

AI engineers gain a stable foundation for multi‑node training, avoiding the fragile process of rebuilding images whenever a library updates. Cloud and platform engineers benefit from a single source of truth for the runtime stack, simplifying CI/CD pipelines and reducing the surface for version drift. DevOps and SRE teams see fewer pod‑restart loops because the operator can rely on a tested image that matches the KubeRay version. Security staff appreciate that the image is hosted in Amazon ECR Public, eliminating the need to store custom container registries and reducing the risk of unintentionally shipping vulnerable dependencies.

Architecture Overview

Ray clusters on EKS consist of a head pod and one or more worker pods. The head runs the Ray control store, dashboard, and job server; each worker hosts a GPU and runs a training process. KubeRay, an open‑source operator, watches a RayCluster custom resource and creates the head and worker pods accordingly. In the sample architecture, a CPU‑only system node runs the KubeRay controller, while two g6.12xlarge instances with EFA provide eight L4 GPUs. The same DLC image is used for both head and workers, and the EFA stack inside the image enables low‑latency NCCL collectives across the two instances.

Implementation Steps

  • Reference the public DLC tag public.ecr.aws/deep-learning-containers/ray:train-ml-cuda-v1.1 in the RayCluster manifest.
  • Specify the instance type (e.g., g6.12xlarge) and GPU count per pod.
  • Enable EFA by adding the appropriate network configuration to the pod spec; the DLC already includes the EFA installer, libfabric, and the aws-ofi-nccl plugin.
  • Deploy the manifest; KubeRay creates the head pod, then the worker pods, each pulling the same image.
  • Submit a Ray Train job that uses PyTorch Fully Sharded Data Parallel (FSDP) to the Ray job server; the job runs on eight GPUs without any custom container build.

Operational and Security Considerations

Because the image is centrally maintained, patching is handled by AWS; operators only need to track the DLC version used in their manifests. However, teams should monitor the public ECR tag for updates and plan periodic rollouts to incorporate security fixes. The reliance on EFA means that network policies must allow the required libfabric traffic between worker nodes. KubeRay automatically replaces failed pods, but observability of the Ray head and the operator remains essential to detect silent failures. From a security perspective, using a public image reduces the attack surface associated with custom Dockerfiles, but access to the EKS cluster and to the public ECR repository should still be governed by least‑privilege IAM policies.

Related CloudNinjas coverage: AWS.

What This Means For Practitioners

Adopt the Ray Train DLC as the default training image for any distributed PyTorch workload on EKS. Verify that your KubeRay operator version supports Ray 2.58.0, and update manifests to reference the public tag. Incorporate regular image‑version checks into your deployment pipeline to stay current with AWS patches. Finally, evaluate the performance of EFA‑backed NCCL collectives in your specific workload and adjust pod placement or instance sizing as needed.

Originally published atAWS Machine Learning Blog