<p>We are having kubernetes cluster which is running on-premise &amp; we having GCR private  repository. So how we can access that private repository to my on-premise kubernetes cluster, As I know we can do using gcloud-sdk but it won't be possible to install gcloud-sdk on every node of kubernetes cluster.</p>

<p>We used to deploy pods on azure AKS cluster and images used to be from GCR.
these are the steps we follow.</p>

<ol>
<li>Create a service account in gcloud with permissions to gcr.</li>
<li>Create keys for the service account.</li>
<li>Add kubectl secret.</li>
<li>Use secret in yaml</li>
</ol>

<p><code>gcloud iam service-accounts keys create gcr-docker-cred.json --iam-account=service-account-name@project-id.iam.gserviceaccount.com</code></p>

<p>Add kubectl secret.</p>

<p><code>kubectl create secret docker-registry gcriosecret --docker-server=https://gcr.io --docker-username=_json_key --docker-email=user@example.com --docker-password="$(cat gcr-docker-cred.json)"</code></p>

<p>Use secret in yaml</p>

<p><code>imagePullSecrets:
        - name: gcriosecret</code></p>

<p>this <a href="http://docs.heptio.com/content/private-registries/pr-gcr.html" rel="nofollow noreferrer">blog</a> might be a good help</p>
