Sto cercando di convincere Kubernetes a scaricare immagini da un registro dei contenitori di Google da un altro progetto. Secondo il docs è necessario creare un segreto di un'immagine di tiro con:Creazione dell'immagine pull secret per il registro contenitore google che non scade?
$ kubectl create secret docker-registry myregistrykey --docker-server=DOCKER_REGISTRY_SERVER --docker-username=DOCKER_USER --docker-password=DOCKER_PASSWORD --docker-email=DOCKER_EMAIL
ma mi chiedo che cosa DOCKER_USER
e DOCKER_PASSWORD
dovrei usare per l'autenticazione con Google Contenitore di registrazione? Guardando il GCR docs si dice che la password è il token di accesso che si può ottenere eseguendo:
$ gcloud auth print-access-token
questo funziona davvero ... per un po '. Il problema sembra essere che questo token di accesso scade dopo (ciò che credo sia) un'ora. Ho bisogno di una password (o qualcosa) che non scada quando creo la mia immagine pull secret. Altrimenti il cluster Kubernetes non può scaricare le nuove immagini dopo circa un'ora. Qual è il modo corretto per farlo?
Grazie per la condivisione! Mi sono avvicinato molto ma ho commesso l'errore di provare ad usare il mio attuale '~/.docker/config' che aveva già le credenziali gcr.io, ma credo che fossero legati all'account di servizio sbagliato ... o qualcosa del genere. Ad ogni modo, un paio di note: durante la creazione del nuovo account di servizio (passaggio 2) ho dovuto scegliere un ruolo, quindi ho scelto Project> Viewer, che sembra aver funzionato. Inoltre, con il comando 'base64', puoi rimuovere' cat' e aggiungere '-w 0' per evitare newline:' base64 -w 0 ~/docker-config.json' –
Inoltre, sembra che abbiano [ha cambiato il nome del tipo Secret da 'dockercfg' a' dockerconfigjson'] (http://kubernetes.io/docs/user-guide/images/), che è quello che ho usato. Sono su K8s 1.4.0. –
A un altro commento ... nel passaggio 5, hai lasciato fuori il '{" auths di livello superiore: 'chiave json. Anche rimuovere le newline da quel file non è realmente necessario, ma vuoi restringere la configurazione del docker per avere solo le auth che vuoi copiare nel segreto di Kubernetes. –