Cree un secreto de credencial de registro y una referencia en las especificaciones de pods y de implementación para poder extraer imágenes de contenedor sin errores.
Docker Hub requiere una cuenta desde la que extraer imágenes. Puede crear un secreto de Kubernetes con sus credenciales de Docker Hub y hacer referencia a este secreto en los pods y las especificaciones de implementación.
Este enfoque también se puede utilizar para otros registros privados.
Procedimiento
- Ejecute
docker version
y compruebe que Docker esté instalado.
- Ejecute
docker login -u USERNAME
.
- Introduzca la contraseña de Docker Hub.
- Ejecute
cat ~/.docker/config.json
.
- Ejecute el siguiente comando para crear un secreto genérico denominado
regcred
que incluya las credenciales de acceso de Docker Hub.
kubectl create secret generic regcred \
--from-file=.dockerconfigjson=/home/ubuntu/.docker/config.json \
--type=kubernetes.io/dockerconfigjson
Debería ver
secret/regcred created
.
- Compruebe el secreto.
kubectl get secrets
NAME TYPE DATA AGE
default-token-w7wqk kubernetes.io/service-account-token 3 6h28m
regcred kubernetes.io/dockerconfigjson 1 3h22m
Haga referencia al secreto regcred en el YAML.
- Haga referencia al secreto
regcred
en la sección imagePullSecrets
de la especificación de implementación o de pod para las imágenes de contenedor.
Por ejemplo:
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