<p>I need to set up a kubernetes cluster in a bare VM inside a closed network environment. Network Team in my company do not allow UDP port between VMs. </p>

<p>I understand that the k8s cluster requires CNI and virtual network (like VXLAN) require UDP. May I know how could i setup a k8s cluster without UDP traffic allowed, or how could I set up a cluster and deploy my deployments without CNI?</p>

<p>If you are planning on using flannel, you may want to use host-gw mode, which does not encapsulate any packets, since it relays on the direct layer 2 connectivity. The requirement is that all your k8s nodes must be on the same subnet. More details: <a href="https://github.com/coreos/flannel/blob/master/Documentation/backends.md" rel="nofollow noreferrer">https://github.com/coreos/flannel/blob/master/Documentation/backends.md</a> 
Otherwise you can always setup a flat network without any encapsulation, by just leveraging a traditional layer 3 routing, but it will require an intervention from your network team to make nodes, pods visible to each other in the case if they are not on the same subnet. Keep in mind, that runnning k8s with flat network will be much more complex than the traditional overlays.</p>
