<p>I have a raspberry pie cluster( ARM-based CPU ) and a couple of virtual machines that run on an X86 based laptop, I was able to establish a K8S cluster atop my raspberry pie cluster and the other X86-based virtual machines .</p>

<p>I want to run a K8S deployment in this cluster with  pods running the ARM-based docker image in Raspberry pie nodes and other pods running X86-based docker image in my X86-based virtual machines .</p>

<p>I wonder if there is any easy way to achieve this . Thanks in advance for your help.</p>

mabbessi
<p>You can use a Selector/Affinity mechanisms and <code>beta.kubernetes.io/arch</code> <a href="https://kubernetes.io/docs/reference/kubernetes-api/labels-annotations-taints/" rel="nofollow noreferrer">label</a> of the node which automatically assigned to each of them.</p>

<p>You can call <code>kubectl describe node $nodename</code> and check that label. On X86 it will be <code>beta.kubernetes.io/arch=amd64</code>, on ARM it will be different.</p>

<p>So, for X86 payload you can add node selector:</p>

<pre><code>nodeSelector:
    beta.kubernetes.io/arch: amd64
</code></pre>

<p>Then K8s will spawn that payload only on X86 servers. 
The same thing you can do for your ARM payload.</p>
