Kubernetes labels and selectors? You could attach a label to each node that expresses architecture and a matching selector to the pod. This would allow you to do it, assuming of course that there's no API wierdness between the scheduler and node if they're running on different archs.
Labels and selectors are completely arbitrary, so you could extend that to match OS (Linux vs Windows), arch, location, etc. Right now, this is used for things like DR regions, CPU, etc.
Overall as of K8S 1.2 the implementation is moving to node affinity instead of the current model, but the idea is the same.