Sécurité des images

Joseph TankouaJoseph Tankoua
1 min read

Les images sont utilisées comme base pour le déploiement des applications conteneurisées.

Prenons, par exemple, un fichier de définition de pods simple.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
    name: web-server
    image: nginx

L'image mentionnée ici provient de Docker Hub (lorsque les configurations sont par défaut). Ces images sont produites par des équipes officielles et vérifiées par Docker Hub. Il est possible d'utiliser des images provenant de registres privés. Dans ce cas, il faut ajouter le nom du registre, le compte à partir duquel on récupère l'image, puis le nom de l'image.

Exemple: gcr.io/google-containers/cadvisor

Pour que notre cluster se connecte à un registre Docker, nous devons utiliser un type de secret docker-registry, qui est un type de secret par défaut sur Kubernetes.

kubectl create secret docker-registry regcred 
--docker-server=notre-registre-prive.io \
--docker-username=user-registre \
--docker-password=mdp-registre \
--docker-email=user@email.com

regcred: est le nom du secret

Une fois fait, nous pouvons désormais connecter notre cluster à notre registre Docker privé et récupérer les images qui s'y trouvent.

Ajoutez imagePullSecrets dans le fichier de définition du pod et mettez le nom du secret Docker précédemment créé.

apiVersion: v1
kind: Pod
metadata:
  name: nginx-pod
spec:
  containers:
  - name: web-server
    image: nginx
  imagePullSecrets: 
  - name: regcred

Voilà comment se connecter de manière sécurisée à son registre sous Kubernetes.

0
Subscribe to my newsletter

Read articles from Joseph Tankoua directly inside your inbox. Subscribe to the newsletter, and don't miss out.

Written by

Joseph Tankoua
Joseph Tankoua

I am a devops engineer. I am writing about devops tools as part of my personal training. I skate and love shooting games. Love to learn.