Kubernetes: kubectl tidak dapat menarik gambar dari repositori pribadi

Dibuat pada 16 Feb 2017  ·  3Komentar  ·  Sumber: kubernetes/kubernetes

Apakah ini LAPORAN BUG atau PERMINTAAN FITUR?: BUG

Versi Kubernetes (gunakan versi 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"}

Lingkungan:

Penyedia cloud atau konfigurasi perangkat keras: 2GB RAM/50GB HDD VM
OS (mis. dari /etc/os-release):
NAMA="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

Kernel (misalnya uname -a):
Linux ubuntu 4.4.0-21-generic #37-Ubuntu SMP Sen 18 Apr 18:33:37 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Instal alat: kubeadm, kubectl, buruh pelabuhan
Lainnya : NA
Apa yang terjadi: ImagePullBackOff saat menarik dari repositori pribadi

Apa yang Anda harapkan terjadi: Itu akan menarik gambar dari repositori pribadi

Cara memperbanyaknya (seminimal dan setepat mungkin):

  • Membuat file untuk repositori pribadi dan memulai ulang buruh pelabuhan di kedua node (Master dan slave)
    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
  • Kemudian, login Docker
    docker login 123.456.789.0:9595
  • info buruh pelabuhan
    Wadah: 87
    Lari: 18
    Dijeda: 0
    Berhenti: 69
    Gambar: 175
    Versi Server: 1.12.3
    Driver Penyimpanan: aufs
    Root Dir: /var/lib/docker/aufs
    Sistem File Dukungan: extfs
    Sutradara: 384
    Dirperm1 Didukung: benar
    Driver Logging: file json
    Cgroup Driver: cgroupfs
    Plugin:
    Volume: lokal
    Jaringan: host bridge null overlay
    Kawanan: tidak aktif
    Waktu tayang: runc
    Waktu Proses Default: runc
    Opsi Keamanan: apparmor seccomp
    Versi Kernel: 4.4.0-21-generik
    Sistem Operasi: Ubuntu 16.04 LTS
    Tipe OS: linux
    Arsitektur: x86_64
    CPU: 1
    Total Memori: 1,937 GiB
    Nama: ubuntu
    ID: FXD7: JQJZ:HO3R :D2NK: RWYL:7DCY :PC2M:43PM: MA7C: QSPN :4RGS :5W6H
    Dir Root Docker: /var/lib/docker
    Mode Debug (klien): salah
    Mode Debug (server): salah
    Registri: https://index.docker.io/v1/
    PERINGATAN: Tidak ada dukungan batas swap
    Registri Tidak Aman:
    123.456.789.0:9595
    127.0.0.0/8

  • buruh pelabuhan -v
    Docker versi 1.12.3, build 6b644ec

  • Mulai kubeadm di master
    kubeadm init --token 123456.1234567890123456 --api-advertise-addresses 192.168.91.133

  • Buat rahasia kubernate
    kubectl buat secret docker-registry my-secret --docker-server=123.456.789.0 --docker-username=admin --docker-password=XXXX [email protected]
  • Membuat jaringan weive

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

  • Dari budak, bergabunglah dengan jaringan master
    kubeadm bergabung --token=123456.1234567890123456 192.168.91.133
  • Definisi 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
  • Kemudian, mencoba membuat pod. Gambar pod yang dikonfigurasi terletak di repositori nexus docker. Saya mendapatkan jejak di bawah ini saat menjelaskan 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\""

Komentar yang paling membantu

Masalah terjadi karena nomor port. Setelah memasukkan nomor port itu sudah mulai berfungsi seperti yang diharapkan.

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

Semua 3 komentar

Dari budak dan master, saya bisa menarik repositori pribadi. Tapi, masalahnya ada ketika kubectl mencoba menarik gambar dari repositori pribadi meskipun saya telah menambahkan rahasia saya di definisi pod.

Masalah terjadi karena nomor port. Setelah memasukkan nomor port itu sudah mulai berfungsi seperti yang diharapkan.

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

Apakah halaman ini membantu?
0 / 5 - 0 peringkat