• Kubernetes Submit Queue's avatar
    Merge pull request #57824 from thockin/gcr-vanity · fb340a46
    Kubernetes Submit Queue authored
    Automatic merge from submit-queue (batch tested with PRs 57824, 58806, 59410, 59280). If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>.
    
    2nd try at using a vanity GCR name
    
    The 2nd commit here is the changes relative to the reverted PR.  Please focus review attention on that.
    
    This is the 2nd attempt.  The previous try (#57573) was reverted while we
    figured out the regional mirrors (oops).
        
    New plan: k8s.gcr.io is a read-only facade that auto-detects your source
    region (us, eu, or asia for now) and pulls from the closest.  To publish
    an image, push k8s-staging.gcr.io and it will be synced to the regionals
    automatically (similar to today).  For now the staging is an alias to
    gcr.io/google_containers (the legacy URL).
        
    When we move off of google-owned projects (working on it), then we just
    do a one-time sync, and change the google-internal config, and nobody
    outside should notice.
        
    We can, in parallel, change the auto-sync into a manual sync - send a PR
    to "promote" something from staging, and a bot activates it.  Nice and
    visible, easy to keep track of.
    
    xref https://github.com/kubernetes/release/issues/281
    
    TL;DR:
      *  The new `staging-k8s.gcr.io` is where we push images.  It is literally an alias to `gcr.io/google_containers` (the existing repo) and is hosted in the US.
      * The contents of `staging-k8s.gcr.io` are automatically synced to `{asia,eu,us)-k8s.gcr.io`.
      * The new `k8s.gcr.io` will be a read-only alias to whichever regional repo is closest to you.
      * In the future, images will be promoted from `staging` to regional "prod" more explicitly and auditably.
    
     ```release-note
    Use "k8s.gcr.io" for pulling container images rather than "gcr.io/google_containers".  Images are already synced, so this should not impact anyone materially.
        
    Documentation and tools should all convert to the new name. Users should take note of this in case they see this new name in the system.
    ```
    fb340a46