web-dev-qa-db-fra.com

Comment réparer «Impossible de tirer l'image» sur microk8s

Im essayant de suivre les tutoriels de démarrage de docker, mais je suis coincé lorsque vous devez travailler avec kuberetes. J'utilise des microk8 pour créer les clusters.

Mon Dockerfile:

FROM node:6.11.5WORKDIR /usr/src/app
COPY package.json .
RUN npm install
COPY . .

CMD [ "npm", "start" ]

Mon bb.yaml:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: bb-demo
  namespace: default
spec:
  replicas: 1
  selector:
    matchLabels:
      bb: web
  template:
    metadata:
      labels:
        bb: web
    spec:
      containers:
      - name: bb-site
        image: bulletinboard:1.0
---
apiVersion: v1
kind: Service
metadata:
  name: bb-entrypoint
  namespace: default
spec:
  type: NodePort
  selector:
    bb: web
  ports:
  - port: 8080
    targetPort: 8080
    nodePort: 30001

Je crée l'image avec

docker image build -t bulletinboard:1.0 .

Et je crée le pod et le service avec:

microk8s.kubectl apply -f bb.yaml

Le pod est créé, mais lorsque je cherche l'état de mes pods avec

microk8s.kubectl get all

Ça dit:

NAME                           READY   STATUS             RESTARTS   AGE
pod/bb-demo-7ffb568776-6njfg   0/1     ImagePullBackOff   0          11m

NAME                    TYPE        CLUSTER-IP     EXTERNAL-IP   PORT(S)          AGE
service/bb-entrypoint   NodePort    10.152.183.2   <none>        8080:30001/TCP   11m
service/kubernetes      ClusterIP   10.152.183.1   <none>        443/TCP          4d

NAME                      READY   UP-TO-DATE   AVAILABLE   AGE
deployment.apps/bb-demo   0/1     1            0           11m

NAME                                 DESIRED   CURRENT   READY   AGE
replicaset.apps/bb-demo-7ffb568776   1         1         0       11m

Aussi, quand je le cherche sur le tableau de bord de kubernetes, il dit:

Échec de l'extraction de l'image "bulletinboard: 1.0": erreur rpc: code = Inconnu desc = échec de la résolution de l'image "docker.io/library/bulletinboard:1.0": aucun point de terminaison de registre disponible: accès par extraction refusé, le référentiel n'existe pas ou peut nécessiter autorisation: message du serveur: scope_insuffisant: échec de l'autorisation

Q: Pourquoi ai-je cette erreur? Je suis juste en train de suivre le tutoriel sans rien sauter.

Im déjà connecté avec docker.

7
Manu Ruiz Ruiz

Une solution suggérée consiste à ajouter imagePullPolicy: Never à votre déploiement selon la réponse ici mais cela n'a pas fonctionné pour moi, j'ai donc suivi le guide this puisque je travaillais dans le développement local.

1
Captain A