<p>I need to write a iptables rule in the K8s pod to SNAT packets based on some conditions but the network traffic never go through NAT table</p>

<p><strong>Why my Kubernetes pod network traffic does not go through the iptables NAT table?</strong></p>
<p>Ans :</p>
<p>Because Kubernetes Dictates so to all CNI.
Following is from <a href="https://kubernetes.io/docs/concepts/services-networking/#the-kubernetes-network-model" rel="nofollow noreferrer">Kubernetes Documentation</a></p>
<pre><code>Kubernetes imposes the following fundamental requirements on any networking 
implementation (barring any intentional network segmentation policies):

- pods on a node can communicate with all pods on all nodes without NAT
- agents on a node (e.g. system daemons, kubelet) can communicate with all pods on 
  that node. 
  Note: For those platforms that support Pods running in the host network 
  (e.g. Linux):
  - pods in the host network of a node can communicate with all pods on all nodes 
    without NAT
</code></pre>
