Creare un segreto e un riferimento alle credenziali del registro nelle specifiche del pod e della distribuzione in modo da poter estrarre le immagini del container senza errori.
Docker Hub richiede un account da cui eseguire il pull di immagini. È possibile creare un segreto Kubernetes con le credenziali Docker Hub e fare riferimento a questo segreto nelle specifiche del pod e della distribuzione.
Questo approccio può essere utilizzato anche per altri registri privati.
Procedura
- Eseguire
docker version
e verificare che Docker sia installato.
- Eseguire
docker login -u USERNAME
.
- Immettere la password di Docker Hub.
- Eseguire
cat ~/.docker/config.json
.
- Eseguire il comando seguente per creare un segreto generico denominato
regcred
che includa le credenziali di accesso di Docker Hub.
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Dovrebbero comparire
secret/regcred created
.
- Verificare il segreto.
kubectl get secrets
NAME TYPE DATA AGE
default-token-w7wqk kubernetes.io/service-account-token 3 6h28m
regcred kubernetes.io/dockerconfigjson 1 3h22m
Fare riferimento al segreto regcred nel file YAML.
- Fare riferimento al segreto
regcred
nella sezione imagePullSecrets
della specifica del pod o della distribuzione per le immagini del container.
Ad esempio:
apiVersion: v1
kind: Pod
metadata:
name: ping-pod
namespace: default
spec:
containers:
- image: busybox:1.34
name: busybox
command: ["ping", "-c"]
args: ["1", "8.8.8.8"]
imagePullSecrets:
- name: regcred
restartPolicy: Never