Kubernetes: kubectl n'est pas en mesure d'extraire l'image du référentiel privé

Créé le 16 févr. 2017  ·  3Commentaires  ·  Source: kubernetes/kubernetes

S'agit-il d'un RAPPORT DE BOGUE

Version Kubernetes (utilisez la version Kubectl) :

Client Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.2", GitCommit:"08e099554f3c31f6e6f07b448ab3ed78d0520507", GitTreeState:"clean", BuildDate:"2017-01-12T04:57:25Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}
Server Version: version.Info{Major:"1", Minor:"5", GitVersion:"v1.5.3", GitCommit:"029c3a408176b55c30846f0faedf56aae5992e9b", GitTreeState:"clean", BuildDate:"2017-02-15T06:34:56Z", GoVersion:"go1.7.4", Compiler:"gc", Platform:"linux/amd64"}

Environnement:

Fournisseur de cloud ou configuration matérielle : 2 Go de RAM/50 Go de disque dur VM
OS (par exemple depuis /etc/os-release) :
NOM="Ubuntu"
VERSION="16.04 LTS (Xenial Xerus)"
ID=ubuntu
ID_LIKE=debian
PRETTY_NAME="Ubuntu 16.04 LTS"
VERSION_ID="16.04"
HOME_URL=" http://www.ubuntu.com/ "
SUPPORT_URL=" http://help.ubuntu.com/ "
BUG_REPORT_URL=" http://bugs.launchpad.net/ubuntu/ "
UBUNTU_CODENAME=xenial

Noyau (par exemple uname -a) :
Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Lun 18 avril 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Outils d'installation : kubeadm, kubectl, docker
Autres :NA
Que s'est-il passé : ImagePullBackOff lors de l'extraction d'un référentiel privé

Ce à quoi vous vous attendiez

Comment le reproduire (le plus minimement et le plus précisément possible) :

  • Création d'un fichier pour le référentiel privé et redémarrage du docker dans les deux nœuds (maître et esclave)
    root<strong i="5">@ubuntu</strong>:~# vi /etc/systemd/system/docker.service.d/private-registry.conf
        [Service]
        ExecStart=
        ExecStart=/usr/bin/dockerd --insecure-registry 123.456.789.0:9595
  • Ensuite, connectez-vous à Docker
    docker login 123.456.789.0:9595
  • informations sur les dockers
    Conteneurs : 87
    Course à pied : 18
    En pause : 0
    Arrêté : 69
    Images : 175
    Version du serveur : 1.12.3
    Pilote de stockage : aufs
    Répertoire racine : /var/lib/docker/aufs
    Système de fichiers de sauvegarde : extfs
    Répertoire : 384
    Dirperm1 pris en charge : vrai
    Pilote de journalisation : fichier json
    Pilote de groupe de contrôle : cgroupfs
    Plugins :
    Volume : local
    Réseau : superposition nulle du pont hôte
    Essaim : inactif
    Temps d'exécution : runc
    Temps d'exécution par défaut : runc
    Options de sécurité : apparmor seccomp
    Version du noyau : 4.4.0-21-generic
    Système d'exploitation : Ubuntu 16.04 LTS
    Type de système d'exploitation : Linux
    Architecture : x86_64
    Processeurs : 1
    Mémoire totale : 1,937 Gio
    Nom : ubuntu
    ID : FXD7 : JQJZ:HO3R :D2NK : RWYL:7DCY :PC2M:43PM:MA7C: QSPN:4RGS :5W6H
    Répertoire racine Docker : /var/lib/docker
    Mode de débogage (client) : faux
    Mode de débogage (serveur) : faux
    Registre : https://index.docker.io/v1/
    AVERTISSEMENT : aucune prise en charge de la limite d'échange
    Registres non sécurisés :
    123.456.789.0:9595
    127.0.0.0/8

  • docker -v
    Docker version 1.12.3, build 6b644ec

  • Lancer kubeadm dans le maître
    kubeadm init --token 123456.1234567890123456 --api-advertise-addresses 192.168.91.133

  • Créer un secret Kubernates
    kubectl crée un secret docker-registry my-secret --docker-server=123.456.789.0 --docker-username=admin --docker-password=XXXX [email protected]
  • Création du réseau weive

    kubectl applique -f https://git.io/weave-kube

  • Depuis l'esclave, rejoignez le réseau maître
    kubeadm join --token=123456.1234567890123456 192.168.91.133
  • Définition du pod
apiVersion: v1
kind: Pod
metadata:
  name: test-pod
  labels:
    name: test
spec:
  containers:
    - image: 123.456.789.0:9595/test
      name: test
      ports:
        - containerPort: 8443
  imagePullSecrets:
    - name: my-secret
  • Ensuite, j'ai essayé de créer un pod. L'image du pod configuré se trouve dans le référentiel nexus docker.Je reçois la trace ci-dessous tout en décrivant le pod
Name:           test-pod
Namespace:      default
Node:           ubuntu-child/192.168.91.134
Start Time:     Thu, 16 Feb 2017 12:26:56 +0530
Labels:         name=test
Status:         Pending
IP:             10.44.0.2
Controllers:    <none>
Containers:
  test:
    Container ID:
    Image:              123.456.789.0:9595/test
    Image ID:
    Port:               8443/TCP
    State:              Waiting
      Reason:           ErrImagePull
    Ready:              False
    Restart Count:      0
    Volume Mounts:
      /var/run/secrets/kubernetes.io/serviceaccount from default-token-vkj94 (ro)
    Environment Variables:      <none>
Conditions:
  Type          Status
  Initialized   True
  Ready         False
  PodScheduled  True
Volumes:
  default-token-vkj94:
    Type:       Secret (a volume populated by a Secret)
    SecretName: default-token-vkj94
QoS Class:      BestEffort
Tolerations:    <none>
Events:
  FirstSeen     LastSeen        Count   From                    SubObjectPath                   Type            Reason          Message
  ---------     --------        -----   ----                    -------------                   --------        ------          -------
  9s            9s              1       {default-scheduler }                                    Normal          Scheduled       Successfully assigned test-pod to ubuntu-child
  7s            7s              1       {kubelet ubuntu-child}  spec.containers{test}   Normal          Pulling         pulling image "123.456.789.0:9595/test"
  7s            7s              1       {kubelet ubuntu-child}  spec.containers{test}   Warning         Failed          Failed to pull image "123.456.789.0:9595/test": Error: image test:latest not found
  7s            7s              1       {kubelet ubuntu-child}                                  Warning         FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "test" with ErrImagePull: "Error: image test:latest not found"

  7s    7s      1       {kubelet ubuntu-child}  spec.containers{test}   Normal  BackOff         Back-off pulling image "123.456.789.0:9595/test"
  7s    7s      1       {kubelet ubuntu-child}                                  Warning FailedSync      Error syncing pod, skipping: failed to "StartContainer" for "test" with ImagePullBackOff: "Back-off pulling image \"123.456.789.0:9595/test\""

Commentaire le plus utile

Le problème existe en raison du numéro de port. Après avoir mis le numéro de port, il a commencé à fonctionner comme prévu.

kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]

Tous les 3 commentaires

De l'esclave et du maître, je pourrais extraire le référentiel privé. Mais, le problème existe lorsque kubectl essaie d'extraire l'image du référentiel privé bien que j'aie ajouté mon secret dans la définition du pod.

Le problème existe en raison du numéro de port. Après avoir mis le numéro de port, il a commencé à fonctionner comme prévu.

kubectl create secret docker-registry my-secret --docker-server=123.456.789.0:9595 --docker-username=admin --docker-password=XXXX [email protected]

Cette page vous a été utile?
0 / 5 - 0 notes