title: Why are GKE container ranges limited to the 10.x RFC1918 range?
body: <p>... I would prefer a <code>172.16.x</code> address.</p>
  <blockquote>
  <p>Container pods in the cluster will be assigned an IP address from this IP address range. Enter a range (in CIDR notation) within 10.0.0.0/8 using a mask size between /8 and /19 bits, or leave this field blank to use a default range. -- GKE &quot;create container cluster&quot; tooltip for &quot;Container address range&quot; field</p>
  </blockquote>
  <p>I can't find any real reference to this limitation in the Kuberenetes docs themselves, other than <a href="https://kubernetes.io/docs/concepts/cluster-administration/networking/#google-compute-engine-gce" rel="nofollow noreferrer">this part</a> that assumes <code>10.0.0.0/8</code>:</p>
  <blockquote>
  <p>GCE itself does not know anything about these IPs, though, so it will not NAT them for outbound internet traffic. To achieve that we use an iptables rule to masquerade (aka SNAT - to make it seem as if packets came from the Node itself) traffic that is bound for IPs outside the GCE project network (10.0.0.0/8).</p>
  <p><code>iptables -t nat -A POSTROUTING ! -d 10.0.0.0/8 -o eth0 -j MASQUERADE</code></p>
  </blockquote>