Kubernetes: kubectl غير قادر على سحب الصورة من المستودع الخاص

تم إنشاؤها على ١٦ فبراير ٢٠١٧  ·  3تعليقات  ·  مصدر: kubernetes/kubernetes

هل هذا تقرير خطأ أو طلب ميزة ؟: خطأ

إصدار Kubernetes (استخدم إصدار 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"}

بيئة:

مزود السحابة أو تكوين الأجهزة: 2 جيجا بايت رام / 50 جيجا بايت HDD VM
نظام التشغيل (على سبيل المثال من / etc / os-release):
NAME = "أوبونتو"
الإصدار = "16.04 LTS (Xenial Xerus)"
المعرف = ubuntu
ID_LIKE = ديبيان
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 = زينيال

النواة (على سبيل المثال uname -a):
Linux ubuntu 4.4.0-21-generic # 37-Ubuntu SMP الإثنين 18 أبريل 18:33:37 بالتوقيت العالمي المنسق 2016 x86_64 x86_64 x86_64 GNU / Linux
أدوات التثبيت: kubeadm ، kubectl ، docker
آخرون : NA
ما حدث: ImagePullBackOff أثناء السحب من مستودع خاص

ما توقعت حدوثه: لقد سحب الصورة من المستودع الخاص

كيفية إعادة إنتاجه (بأقل قدر ممكن من الدقة والدقة):

  • إنشاء ملف للمستودع الخاص وإعادة تشغيل عامل الإرساء في كل من العقدة (الرئيسي والتابع)
    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
  • بعد ذلك ، قم بتسجيل الدخول إلى Docker
    docker login 123.456.789.0:9595
  • معلومات عامل الميناء
    الحاويات: 87
    الجري: 18
    متوقف مؤقتًا: 0
    متوقف: 69
    الصور: 175
    إصدار الخادم: 1.12.3
    سائق التخزين: aufs
    مدير الجذر: / var / lib / docker / aufs
    دعم نظام الملفات: extfs
    Dirs: 384
    Dirperm1 المدعومة: صحيح
    برنامج تشغيل التسجيل: json-file
    برنامج تشغيل Cgroup: cgroupfs
    الإضافات:
    الحجم: محلي
    الشبكة: تراكب فارغ لجسر المضيف
    سرب: غير نشط
    أوقات التشغيل: runc
    وقت التشغيل الافتراضي: runc
    خيارات الأمان: apparmor seccomp
    إصدار النواة: 4.4.0-21-عام
    نظام التشغيل: Ubuntu 16.04 LTS
    OSType: لينكس
    العمارة: x86_64
    وحدات المعالجة المركزية: 1
    إجمالي الذاكرة: 1.937 جيجا بايت
    الاسم: ubuntu
    المعرّف: FXD7: JQJZ: HO3R : D2NK: RWYL: 7DCY : PC2M: 43PM: MA7C: QSPN : 4RGS: 5W6H
    Docker Root Dir: / var / lib / docker
    وضع التصحيح (العميل): خطأ
    وضع التصحيح (الخادم): خطأ
    التسجيل: https://index.docker.io/v1/
    تحذير: لا يوجد دعم لحد المبادلة
    السجلات غير الآمنة:
    123.456.789.0:9595
    127.0.0.0 / 8

  • عامل ميناء -v
    إصدار Docker 1.12.3 ، النسخة 6b644ec

  • بدء kubeadm في الماجستير
    kubeadm init - تم تفعيلها 123456.1234567890123456 - عناوين الإعلانات الإعلانية 192.168.91.133

  • إنشاء kubernates سر
    kubectl إنشاء عامل إرساء سري-ريجستري-سرّي- خادم- عامل ميناء = 123.456.789.0 - اسم مستخدم عامل ميناء = مشرف - منفذ-كلمة مرور = XXXX - [email protected]
  • أنشأ شبكة Weive

    تطبيق kubectl -f https://git.io/weave-kube

  • من العبد ، انضم إلى الشبكة الرئيسية
    انضم kubeadm --token = 123456.1234567890123456 192.168.91.133
  • تعريف جراب
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
  • ثم حاول إنشاء جراب. توجد صورة pod التي تم تكوينها في مستودع nexus docker. أحصل على التتبع أدناه أثناء وصف الكبسولة
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\""

التعليق الأكثر فائدة

كانت المشكلة موجودة بسبب رقم المنفذ. بعد وضع رقم المنفذ ، بدأ العمل كما هو متوقع.

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

ال 3 كومينتر

من العبد والسيد ، يمكنني سحب المستودع الخاص. لكن المشكلة موجودة عندما يحاول kubectl سحب الصورة من المستودع الخاص على الرغم من أنني أضفت سريًا في تعريف pod.

كانت المشكلة موجودة بسبب رقم المنفذ. بعد وضع رقم المنفذ ، بدأ العمل كما هو متوقع.

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

لم يكن خطأ فعليًا ، ولكن للاطلاع على الحل ، راجع http://stackoverflow.com/questions/42267164/kubectl-not-able-to-pull-the-image-from-private-repository

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات