I have set up my K8s pods in such a way that the replicas get created on multiple nodes. So no node has 2 pods running the same application. HPA pods will be created on separate nodes too. Is the PDB required in this scenario?
No, Pod Disruption Budget (PDB) is not a requirement when deploying pods on multiple nodes.
It is primarily to handle disruptions due to the dynamic nature of Kubernetes. A PDB limits the number of Pods of a replicated application that are down simultaneously from disruptions. So, using PDB depends on a lot of things like, is the application critical to running of the cluster, criticality of the application to the business, how highly available you want the app to be, number of users affected if the app become unavailable etc.
Having said that, it is a good practice to use PDB on production clusters with proper planning.