401 Unauthorized lors du déploiement d'une image docker
... / 401 Unauthorized lors du ...
BMPCreated with Sketch.BMPZIPCreated with Sketch.ZIPXLSCreated with Sketch.XLSTXTCreated with Sketch.TXTPPTCreated with Sketch.PPTPNGCreated with Sketch.PNGPDFCreated with Sketch.PDFJPGCreated with Sketch.JPGGIFCreated with Sketch.GIFDOCCreated with Sketch.DOC Error Created with Sketch.
question

401 Unauthorized lors du déploiement d'une image docker

Par
GuillaumeM68
Créé le 2022-08-01 06:20:50 (edited on 2024-09-04 13:38:50) dans Conteneurs et Orchestration

Bonjour,

J'ai une image docker hébergé dans le private registry. L'image est correctement hébergé car j'arrive a faire un _**docker pull**_ dans ma machine et à lancer l'image.

Je souhaite déployer cette image dans le service Kubernetes managé. J'ai suivi ce guide à la lettre, mais à la fin, quand je fait **_kubectl get pods -l app=..._** j'ai le statut **_ImagePullBackOff_** qui, je suppose, veut dire que kubernetes n'arrive pas à charger l'image depuis le private registry. J'ai regardé dans le dashboard et je vois qu'un **_401 Unauthorized_** est retourné quand kubernetes tente de charger l'image.

Voici une capture de l'erreur affiché dans le dashboard

image

Comment puis-je résoudre le probleme s'il vous plait ?


1 réponse ( Latest reply on 2022-08-23 15:46:17 Par
FabL
)

Bonjour,

En général une erreur 401 signifie que soit vos identifiants de connexion ne sont pas bons, soit votre utilisateur n'a pas les droits sur le projet cible. Je vous invite à repartir de 0 et suivre le guide une nouvelle fois. Cela ressemble fortement à une erreur de configuration côté Kubernetes.

Thomas

Merci pour votre réponse.

Voici notre deployment file, voyez vous une quelconque mauvaise configuration ?

```
apiVersion: v1
kind: Service
metadata:
name: testdeploy
spec:
type: NodePort
selector:
app: testdeploy
ports:
- name: http
protocol: TCP
port: 80
targetPort: 80
nodePort: 30007
- name: https
protocol: TCP
port: 443
targetPort: 443
nodePort: 30008
---
apiVersion: apps/v1
kind: Deployment
metadata:
name: testdeploy-deployment
labels:
app: testdeploy
spec:
replicas: 1
selector:
matchLabels:
app: testdeploy
template:
metadata:
labels:
app: testdeploy
spec:
containers:
- name: testdeploy
image: 2tl911c3.gra7.1registry.ovh.net/staging/testdeploy:1.0.0registry.ovh.net/staging/testdeploy:1.0.0
ports:
- containerPort: 80
- containerPort: 443
imagePullSecrets:
- name: regcred
```

Merci

Votre déploiement me semble correct, le problème vient probablement plutôt du secret _regcred_.

Thomas

Comment créer une application pour mon compte directement


Comment créer une application pour mon compte directement


Bonjour,

Pouvez-vous faire un effort pour formuler correctement vos questions, afin qu'elles soient compréhensibles ?

Puisque j'ai résolu mon problème je laisse ici la solution pour les prochains visiteurs:
je ne sais pour quelle raison, la méthode de création du secret qui autorise kubernetes à pull l'image du private registry, tel que décrite dans l'article, ne fonctionne pas pour moi.
J'ai trouvé dans le doc de kubernetes une autre méthode pour creer ce secret. C'est via la commande:
```sh
kubectl create secret docker-registry regcred --docker-server= --docker-username= --docker-password= --docker-email=
```

Bonjour à tous,

Merci @GuillaumeM68,

Je vous remercie d'être revenu sur votre thread avec la solution !

Je clos le sujet.

Passez une excellente fin de journée.

^FabL

Les réponses sont actuellement désactivées pour cette question.