As the nodes have zone labels, no need for init container.
You can use node affinity or/and taints and tolerations (taints and tolerations are optional if there no issues with other pods being scheduled on those nodes as well).
Check this document for information on scheduling a Pod using required node affinity.
Hope this helps.
Please 'Accept as answer' if the provided information is helpful, so that it can help others in the community looking for help on similar topics.