<p>Currently I'm using kubeadm 1.7.2 to install kubernetes.</p>

<p>It will download images like <code>gcr.io/google_containers/etc-amd64:3.0.17</code>.
But in gcr.io, I only see <code>google-containers</code>.</p>

<p>So <code>gcr.io.google_containers</code> is the same <code>gcr.io.google-containers</code> ????</p>

<p>If they are the same, why when I tag them to google-containers instead of google-containers kubeadm will download the google_containers/xxx ???</p>

<blockquote>
  <p>So gcr.io.google_containers is the same gcr.io.google-containers</p>
</blockquote>

<p>Since 2015, yes: see <a href="https://github.com/kubernetes/kubernetes/issues/6229" rel="nofollow noreferrer">kubernetes issue 6229</a></p>

<blockquote>
  <p>It turns out that that is because I am using an older version of docker which does not allow "<code>-</code>" in namespaces.<br>
  I get <code>Invalid namespace name (google-containers), only [a-z0-9_] are allowed, size between 4 and 30</code> error on running <code>$docker pull gcr.io/google-containers/heapster</code>.</p>
  
  <p>@thockin suggested that we can change the path to use <code>google_containers</code> instead of <code>google-containers</code> since that works for all versions of docker.</p>
</blockquote>
