Añadir ImagePullSecrets a un Service Account de Kubernetes

Si estas usando Kubernetes seguramente has tenido la necesidad de utilizar un registry de docker privado.

Para estos casos la documentación de kubernetes te explica como configurar un Secret y usarlo en tus Pods. Sin embargo, hay una forma de configurar un Namespace para no tener que aplicar dicha configuración en cada Pod.

Procedimiento

Se contempla tener el Secret previamente creado según la documentación antes mencionada.

  1. Comprobar que el Secret existe en nuestro namespace:

     kubectl get secrets myregistrykey --namespace=<example>
    
  2. Añadir imagePullSecrets al Service Account:

     kubectl patch serviceaccount default -p '{"imagePullSecrets": [{"name": "myregistrykey"}]}' --namespace=<example> 
    

Ahora, todos los Pods que se creen en el namespaces tendrán el imagePullSecrets.

Fuentes: