Automatically create a `PodDisruptionBudget` (PDB) when a distributed TrainJob is created to protect training pods from voluntary disruptions, ensuring all ranks are available during cluster maintenance operations.
**What would you like to be added?** When a distributed TrainJob is created, automatically create a `PodDisruptionBudget` (PDB) to protect training pods from voluntary disruptions (e.g. node drain, cluster autoscaler eviction). For example, a PDB with `minAvailable` equal to the total number of training replicas would prevent any training pod from being evicted during cluster maintenance operations. **Why is this needed?** Distributed training is tightly coupled, all ranks must be available for training to make progress. When a training pod is evicted (e.g. during node drain), the remaining pods don't receive any signal and eventually crash due to communication timeouts, wasting compute time and requiring a full restart from the last checkpoint. PDBs are the standard Kubernetes mechanism for protecting workloads from voluntary disruptions and would make distributed TrainJobs more resilient to routine cluster operations. **Scope:** PDBs only apply to the [Eviction API](https://kub