Kubeadm: استخدام kubeadm لتهيئة kubernetes 1.12.0 falied: العقدة "xxx" غير موجودة

تم إنشاؤها على ٣ أكتوبر ٢٠١٨  ·  45تعليقات  ·  مصدر: kubernetes/kubeadm

بيئتي:

نظام CentOS7 لينكس

/ etc / hosts:

192.168.0.106 master01

192.168.0.107 عقدة

192.168.0.108 عقدة

على الجهاز master01:

/ etc / hostname:

سيد 01

على الجهاز master01 أقوم بتنفيذ الأوامر على النحو التالي:

1) yum تثبيت docker-ce kubelet kubeadm kubectl

2) systemctl بدء docker.service

3) vim / etc / sysconfig / kubelet

حرر الملف:

KUBELET_EXTRA_ARGS = "- تبديل الفشل = خطأ"

4) systemctl تمكين docker kubelet

5) kubeadm init --kubernetes-version = v1.12.0 --pod-network-cidr = 10.244.0.0 / 16 servicecidr = 10.96.0.0 / 12 --ignore-preflight-errors = all

من ثم

E1002 23: 32: 36.072441 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
E1002 23: 32: 36.172630 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
E1002 23: 32: 36.273892 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
الوقت = "2018-10-02T23: 32: 36 + 08: 00" المستوى = info msg = "بدأ shim docker-containerd-shim" address = "/ containerd-shim / moby / 52fbcdb7864cdf8039ded99b501447f13ba81a3897579fb64581c855653f369a / shim.s" معرف المنتج = 49212
E1002 23: 32: 36.359984 49157 reflector.go: 134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:451: فشل في القائمة * v1.Node: احصل على https://192.168.0.106 : 6443 / api / v1 / nodes؟
I1002 23: 32: 36.377368 49157 kubelet_node_status.go: 276] إعداد تعليق توضيحي للعقدة لتمكين إرفاق / فصل وحدة التحكم في الحجم
E1002 23: 32: 36.380290 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
E1002 23: 32: 36.380369 49157 reflector.go: 134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: فشل في القائمة * v1.Pod: احصل على https://192.168.0.106 : 6443 / api / v1 / pods؟
E1002 23: 32: 36.380409 49157 reflector.go: 134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:442: فشل في القائمة * v1.Service: احصل على https://192.168.0.106 : 6443 / api / الإصدار 1 / الخدمات؟ الحد = 500 & ResourceVersion = 0: اطلب tcp 192.168.0.106:6443: الاتصال: رفض الاتصال
الوقت = "2018-10-02T23: 32: 36 + 08: 00" المستوى = info msg = "بدأ shim docker-containerd-shim" address = "/ containerd-shim / moby / f621eca36ce85e815172c37195ae7ac929112c84f3e37d16dd39c7e44ab13b0c / shugim. معرف المنتج = 49243
I1002 23: 32: 36.414930 49157 kubelet_node_status.go: 70] محاولة تسجيل العقدة الرئيسية 01
E1002 23: 32: 36.416627 49157 kubelet_node_status.go: 92] تعذر تسجيل العقدة "master01" مع خادم API: النشر https://192.168.0.106 : 6443 / api / v1 / nodes: اطلب tcp 192.168.0.106:6443: connect : رفض اتصال
الوقت = "2018-10-02T23: 32: 36 + 08: 00" المستوى = info msg = "بدأ shim docker-containerd-shim" address = "/ containerd-shim / moby / db3f5acb415581d85aef199bea3f85432437c7ef00d357dca1b5684ed95b5591 / shugim. معرف المنتج = 49259
E1002 23: 32: 36.488013 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
time = "2018-10-02T23: 32: 36 + 08: 00" المستوى = info msg = "بدأ shim docker-containerd-shim" address = "/ containerd-shim / moby / 505110c39ed4cd5b3fd4fb863012017a71fa782671ead943491afbf38310ffe0 / shim.s معرف المنتج = 49275
E1002 23: 32: 36.588919 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"
E1002 23: 32: 36.691338 49157 kubelet.go: 2236] لم يتم العثور على العقدة "master01"

لقد حاولت مرات عديدة!

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

نفس المشكلة هنا مع Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (أحدث إصدار تم التحقق منه)
dockerd: نشط ، قيد التشغيل
kubelet: نشط ، قيد التشغيل
selinux: معطل
جدار الحماية: معطل

الخطأ هو:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
يحتوي / etc / hosts على العقدة ، ويمكن اختبار الاتصال به ، ويمكن الوصول إليه - في الواقع يعمل عامل واحد رئيسي واحد (أي عقدة ملوثة).

أين تبحث K8S عن هذه القيمة؟ في / etc / hosts؟
يمكنني استكشاف الأخطاء وإصلاحها وتقديم المزيد من الأدلة إذا لزم الأمر.

-> هل تنتهي kubeadm init وهل تطبع رمزًا مميزًا؟
ينتهي بخطأ طويل:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

ملاحظة: لم يذكر أي من الأوامر المقترحة بعد انتهاء المهلة أي شيء يستحق الذكر هنا.

نسخة kubelet و kubeadm؟
---> 1.13.0
إصدار kubeadm: & version.Info {Major: "1"، Minor: "13"، GitVersion: "v1.13.0"، GitCommit: "ddf47ac13c1a9483ea035a79cd7c10005ff21a6d"، GitTreeState: "clean"، BuildDate: "2018-12-03T21: 01Z "، GoVersion:" go1.11.2 "، المترجم:" gc "، النظام الأساسي:" linux / amd64 "}

أيضًا ، ألا يجب تعيين رسالة خطأ أفضل من "لم يتم العثور على العقدة" بمزيد من الوضوح / الإسهاب في سجلات kube؟

شكرا

ال 45 كومينتر

رسالة الخطأ الأولى: تعذر تحميل ملف CA للعميل /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: لا يوجد مثل هذا الملف أو الدليل

رسالة الخطأ الأولى: تعذر تحميل ملف CA للعميل /etc/kubernetes/pki/ca.crt: open /etc/kubernetes/pki/ca.crt: لا يوجد مثل هذا الملف أو الدليل

مرحبًا ، إليك بعض الأسئلة:
1) هل تنتهي kubeadm init وهل تطبع رمزًا مميزًا؟
2) إصدار وقت تشغيل الحاوية؟
3) هل إصدار kubelet و kubeadm 1.12؟

/ الأولوية الاحتياجات المزيد من الأدلة

تحتاج إلى تنفيذ systemctl start kubelet قبل kubeadm init

أواجه نفس المشكلة لأن قلب الكوب أقل من 2

المشكلة نفسها

javacppc كيف حللت هذا؟ عندما قمت بتشغيل systemctl start kubelet ، أحصل على error code

نفس المشكلة مع kubernetes 1.12.2.
Javacppc كيف حللت هذا؟

المشكلة نفسها

المشكلة نفسها

مرحبا يا شباب،

أواجه نفس المشكلة هنا ، عندما أبدأ المجموعة ، تلقيت الرسالة من الرمز المميز ، لكن لا يمكنني تثبيت نسج سحابي:
kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')" The connection to the server 192.168.56.104:6443 was refused - did you specify the right host or port?

عندما أذهب إلى السجلات ، تلقيت رسالة حول اسم العقدة:

Dec 02 22:27:55 kubemaster5 kubelet[2838]: E1202 22:27:55.128645 2838 kubelet.go:2236] node "kubemaster5" not found

هل يمكن لأي شخص أن يرسل لي بعض الضوء من فضلك؟

شكرا لك!

تم حل مشكلتي وهي في الواقع ليست خطأ ، لأن apiserver فشل في البدء لسبب ما.

"apiserver فشل في البدء لسبب ما"؟ هل يمكنك إعطاء بعض التفاصيل ؟؟

لقد حللت مشكلتي منذ عدة أيام. التحديث من 1.11.4 -> 1.12.3. لدي:

  1. api-server - يعمل في واجهة افتراضية محددة بشبكته الخاصة. ( عارية ).
    بعد kubeadm init/join مع الإشارة apiserver-advertise-address بدأت على واجهة محددة ، لكن الحزم ذات الإعدادات / الفحوصات الصحية تسير عبر المسار القياسي لجدول التوجيه (الواجهة الافتراضية). المعلمة المساعدة bind-address في /etc/kubernetes/manifests/kube-apiserver.yaml مع ربط IP للواجهة الافتراضية.
  2. flannel - نفس الموقف مع الشبكة بعد إنشاء قرون controller و scheduler pods. فشل نشر DNS بسبب connection refused لمجموعة IP لخادم api 10.96.0.1:443 . (جدول التوجيه الافتراضي) لقد حددت node-ip من عقدة المجموعة بواسطة العلم --node-ip في /etc/systemd/system/kubelet.service.d/10-kubeadm.conf مع IP للواجهة الافتراضية.

بعد ذلك ، حصلت على عقدة جاهزة بالإصدار 1.12.3. كانت معظم المعلومات المفيدة بعملة docker logs + kubectl logs

نفس المشكلة هنا مع v1.13.0

نفس المشكلة هنا مع Kubernetes v1.13.0
CentOS 7
docker-ce 18.06 (أحدث إصدار تم التحقق منه)
dockerd: نشط ، قيد التشغيل
kubelet: نشط ، قيد التشغيل
selinux: معطل
جدار الحماية: معطل

الخطأ هو:
kubelet[98023]: E1212 21:10:01.708004 98023 kubelet.go:2266] node "node1" not found
يحتوي / etc / hosts على العقدة ، ويمكن اختبار الاتصال به ، ويمكن الوصول إليه - في الواقع يعمل عامل واحد رئيسي واحد (أي عقدة ملوثة).

أين تبحث K8S عن هذه القيمة؟ في / etc / hosts؟
يمكنني استكشاف الأخطاء وإصلاحها وتقديم المزيد من الأدلة إذا لزم الأمر.

-> هل تنتهي kubeadm init وهل تطبع رمزًا مميزًا؟
ينتهي بخطأ طويل:

[certs] Generating "etcd/server" certificate and key
[certs] etcd/server serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/peer" certificate and key
[certs] etcd/peer serving cert is signed for DNS names [node1 localhost] and IPs [10.10.128.186 127.0.0.1 ::1]
[certs] Generating "etcd/healthcheck-client" certificate and key
[certs] Generating "apiserver-etcd-client" certificate and key
[certs] Generating "sa" key and public key
[kubeconfig] Using kubeconfig folder "/etc/kubernetes"
[kubeconfig] Writing "admin.conf" kubeconfig file
[kubeconfig] Writing "kubelet.conf" kubeconfig file
[kubeconfig] Writing "controller-manager.conf" kubeconfig file
[kubeconfig] Writing "scheduler.conf" kubeconfig file
[control-plane] Using manifest folder "/etc/kubernetes/manifests"
[control-plane] Creating static Pod manifest for "kube-apiserver"
[control-plane] Creating static Pod manifest for "kube-controller-manager"
[control-plane] Creating static Pod manifest for "kube-scheduler"
[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

ملاحظة: لم يذكر أي من الأوامر المقترحة بعد انتهاء المهلة أي شيء يستحق الذكر هنا.

نسخة kubelet و kubeadm؟
---> 1.13.0
إصدار kubeadm: & version.Info {Major: "1"، Minor: "13"، GitVersion: "v1.13.0"، GitCommit: "ddf47ac13c1a9483ea035a79cd7c10005ff21a6d"، GitTreeState: "clean"، BuildDate: "2018-12-03T21: 01Z "، GoVersion:" go1.11.2 "، المترجم:" gc "، النظام الأساسي:" linux / amd64 "}

أيضًا ، ألا يجب تعيين رسالة خطأ أفضل من "لم يتم العثور على العقدة" بمزيد من الوضوح / الإسهاب في سجلات kube؟

شكرا

المشكلة نفسها...

$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Fri 2018-12-14 19:05:47 UTC; 2min 2s ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 9114 (kubelet)
    Tasks: 23 (limit: 4915)
   CGroup: /system.slice/kubelet.service
           └─9114 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-d

Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862262    9114 kuberuntime_manager.go:657] createPodSandbox for pod "kube-scheduler-pineview_kube-system(7f99b6875de942b000954351c4a
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.862381    9114 pod_workers.go:186] Error syncing pod 7f99b6875de942b000954351c4ac09b5 ("kube-scheduler-pineview_kube-system(7f99b687
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906855    9114 remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = failed to start san
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906944    9114 kuberuntime_sandbox.go:65] CreatePodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fai
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.906981    9114 kuberuntime_manager.go:657] createPodSandbox for pod "etcd-pineview_kube-system(b7841e48f3e7b81c3cda6872104ba3de)" fa
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.907100    9114 pod_workers.go:186] Error syncing pod b7841e48f3e7b81c3cda6872104ba3de ("etcd-pineview_kube-system(b7841e48f3e7b81c3c
Dec 14 19:07:49 pineview kubelet[9114]: E1214 19:07:49.933627    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.033880    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.134064    9114 kubelet.go:2236] node "pineview" not found
Dec 14 19:07:50 pineview kubelet[9114]: E1214 19:07:50.184943    9114 event.go:212] Unable to write event: 'Post https://192.168.1.235:6443/api/v1/namespaces/default/events: dial tcp 192.

المشكلة نفسها:

نظام التشغيل Ubuntu 18.04.1 LTS
Kubernetes v1.13.1 (باستخدام cri-o 1.11)

اتبعت إرشادات التثبيت على kubernetes.io:
https://kubernetes.io/docs/setup/independent/install-kubeadm/
https://kubernetes.io/docs/setup/cri/#cri -o

systemctl enable kubelet.service
kubeadm init --pod-network-cidr=192.168.0.0/16 --cri-socket=/var/run/crio/crio.sock

/etc/hosts

127.0.0.1       localhost
::1             localhost ip6-localhost ip6-loopback
ff02::1         ip6-allnodes
ff02::2         ip6-allrouters

127.0.1.1       master01.mydomain.tld master01
::1             master01.mydomain.tld master01

/etc/hostname


systemctl status kubelet

● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Tue 2018-12-18 16:19:54 CET; 20min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 10148 (kubelet)
    Tasks: 21 (limit: 2173)
   CGroup: /system.slice/kubelet.service
           └─10148 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --container-runtime=remote --container-runtime-endpoint=/var/run/crio/crio.sock --resolv-conf=/run/systemd/resolve/resolv.conf

Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.795313   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.896277   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:52 master01 kubelet[10148]: E1218 16:40:52.997864   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.098927   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.200355   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.281586   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/config/apiserver.go:47: Failed to list *v1.Pod: Get https://192.168.178.27:6443/api/v1/pods?fieldSelector=spec.nodeName%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.282143   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:444: Failed to list *v1.Service: Get https://192.168.178.27:6443/api/v1/services?limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.283945   10148 reflector.go:134] k8s.io/kubernetes/pkg/kubelet/kubelet.go:453: Failed to list *v1.Node: Get https://192.168.178.27:6443/api/v1/nodes?fieldSelector=metadata.name%3Dmaster01limit=500&resourceVersion=0: dial tcp 192.168.178.27:6443: connect: connection refused
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.301468   10148 kubelet.go:2266] node "master01" not found
Dec 18 16:40:53 master01 kubelet[10148]: E1218 16:40:53.402256   10148 kubelet.go:2266] node "master01" not found

fhemberger لقد اكتشفت snap لتثبيت Docker. إذا قمت بإلغاء تثبيت ذلك وأعدت تثبيته باستخدام apt ، فإن kubeadm يعمل بشكل جيد.

cjbottaro أنا لا أستخدم Docker على الإطلاق ولكن cri-o.

نفس المشكلة هنا مع v1.13.1

إذا كنت تستخدم systemd و cri-o ، فتأكد من تعيينه كبرنامج تشغيل cgroup في /var/lib/kubelet/config.yaml (أو قم بتمرير المقتطف أدناه كجزء من kubeadm init --config=config.yaml ).

apiVersion: kubelet.config.k8s.io/v1beta1
kind: KubeletConfiguration
cgroupDriver: systemd

إذا لاحظت هذا في سجلات kubelet الخاصة بك:

remote_runtime.go:96] RunPodSandbox from runtime service failed: rpc error: code = Unknown desc = cri-o configured with systemd cgroup manager, but did not receive slice as parent: /kubepods/besteffort/…

لقد قابلت نفس المشكلة اليوم.

لقد أصلحته عن طريق إزالة

JishanXing شكرا لك! أدى هذا أيضًا إلى حل مشكلتي للتشغيل على Raspbian Sketch lite

لقد أصلحته عن طريق إزالة /etc/systemd/system/kubelet.service.d/20-etcd-service-manager.conf

سيكون من الأفضل استخدام الأمر kubeadm reset .

fhemberger كيف تحلها , نفس السؤال شكرا

واجهت نفس المشكلة عندما قمت بترقية k8s من 1.13.3 إلى 1.13.4 ...
لقد قمت بحلها بعد تحرير /etc/kubernetes/manifests/kube-scheduler.yaml . تعديل نسخة الصورة
image: k8s.gcr.io/kube-scheduler:v1.13.3 ==> image: k8s.gcr.io/kube-scheduler:v1.13.4
الشيء نفسه بالنسبة لـ kube-controller-manager.yaml و kube-apiserver.yaml.

أحدث طريقة هي إضافة خيار - image-repository Registry.aliyuncs.com/google_containers ، إصدار k8s الخاص بي هو 1.14.0 ، إصدار عامل الإرساء: 18.09.2 ،
"kubeadm init --image-repository Registry.aliyuncs.com/google_containers --kubernetes-version v1.14.0 --pod-network-cidr = 192.168.0.0 / 16
[init] استخدام إصدار Kubernetes: v1.14.0
[الاختبار المبدئي] إجراء فحوصات ما قبل الرحلة
[تحذير IsDockerSystemdCheck]: تم اكتشاف "cgroupfs" على أنه برنامج تشغيل Docker cgroup. برنامج التشغيل الموصى به هو "systemd". يرجى اتباع الدليل على https://kubernetes.io/docs/setup/cri/
[الاختبار المبدئي] مطلوب سحب الصور لإعداد مجموعة Kubernetes
[الاختبار المبدئي] قد يستغرق هذا دقيقة أو دقيقتين ، حسب سرعة اتصالك بالإنترنت
[الاختبار المبدئي] يمكنك أيضًا تنفيذ هذا الإجراء مسبقًا باستخدام "kubeadm config images pull"
[kubelet-start] كتابة ملف بيئة kubelet مع إشارات للملف "/var/lib/kubelet/kubeadm-flags.env"
[kubelet-start] كتابة تهيئة kubelet في ملف "/var/lib/kubelet/config.yaml"
[kubelet-start] تفعيل خدمة kubelet
[الشهادات] استخدام مجلد CertificateDir "/ etc / kubernetes / pki"
[شهادات] إنشاء شهادة ومفتاح "front-proxy-ca"
[شهادات] إنشاء شهادة ومفتاح "عميل الوكيل الأمامي"
[شهادات] إنشاء مفتاح وشهادة "ca"
[شهادات] إنشاء مفتاح وشهادة "apiserver"
[شهادات] تم توقيع شهادة تقديم خادم apiserver لأسماء DNS [jin-virtual-machine kubernetes kubernetes.default kubernetes.default.svc kubernetes.default.svc.cluster.local] و IPs [10.96.0.1 192.168.232.130]
[شهادات] إنشاء شهادة ومفتاح "apiserver-kubelet-client"
[شهادات] إنشاء مفتاح وشهادة "etcd / ca"
[شهادات] إنشاء مفتاح وشهادة "etcd / server"
[شهادات] يتم توقيع شهادة تقديم الخادوم / الخادوم لأسماء DNS [مضيف محلي للجهاز الظاهري للجين] وعناوين IP [192.168.232.130 127.0.0.1 :: 1]
[شهادات] إنشاء مفتاح وشهادة "etcd / peer"
[شهادات] يتم توقيع شهادة تقديم etcd / peer لأسماء DNS [jin-virtual-machine localhost] وعناوين IP [192.168.232.130 127.0.0.1 :: 1]
[شهادات] إنشاء شهادة ومفتاح "apiserver-etcd-client"
[شهادات] إنشاء شهادة ومفتاح "etcd / healthcheck-client"
[شهادات] إنشاء مفتاح "sa" ومفتاح عام
[kubeconfig] استخدام مجلد kubeconfig "/ etc / kubernetes"
[kubeconfig] كتابة ملف "admin.conf" kubeconfig
[kubeconfig] كتابة ملف "kubelet.conf" kubeconfig
[kubeconfig] كتابة ملف kubeconfig "controller-manager.conf"
[kubeconfig] كتابة ملف "Scheduler.conf" kubeconfig
[control-plane] استخدام مجلد البيان "/ etc / kubernetes / manifests"
[طائرة التحكم] إنشاء بيان جراب ثابت لـ "kube-apiserver"
[طائرة التحكم] إنشاء بيان جراب ثابت لـ "kube-controller-manager"
[مستوى التحكم] إنشاء بيان لوحة ثابتة لـ "kube-Scheduler"
[etcd] إنشاء بيان Pod ثابت لـ etcd المحلي في "/ etc / kubernetes / manifests"
[wait-control-plane] انتظار kubelet لتمهيد مستوى التحكم كسنفات ثابتة من الدليل "/ etc / kubernetes / manifests". يمكن أن يستغرق هذا ما يصل إلى 4m0s
[apiclient] جميع مكونات مستوى التحكم سليمة بعد 17.004356 ثانية
[upload-config] تخزين التهيئة المستخدمة في ConfigMap "kubeadm-config" في مساحة الاسم "kube-system"
[kubelet] إنشاء ConfigMap "kubelet-config-1.14" في مساحة الاسم kube-system مع تكوين kubelets في الكتلة
[تحميل الشهادات] مرحلة التخطي. يرجى الاطلاع على شهادات التحميل التجريبية
[mark-control-plane] تمييز العقدة jin-virtual-machine كمستوى تحكم عن طريق إضافة التسمية "node-role.kubernetes.io/master= ''"
[mark-control-plane] تمييز العقدة jin-virtual-machine كمستوى تحكم عن طريق إضافة التلوين [node-role.kubernetes.io/ master: NoSchedule ]
[bootstrap-token] استخدام الرمز المميز: xucir0.o4kzo3qqjyjnzphl
[bootstrap-token] تكوين رموز التمهيد ، معلومات المجموعة ConfigMap ، أدوار RBAC
[bootstrap-token] تكوين قواعد RBAC للسماح للرموز المميزة Node Bootstrap بنشر CSR حتى تحصل العقد على بيانات اعتماد شهادة طويلة الأجل
[bootstrap-token] تكوين قواعد RBAC للسماح لوحدة التحكم csrapprover بالموافقة تلقائيًا على CSRs من Node Bootstrap Token
[bootstrap-token] تكوين قواعد RBAC للسماح بتناوب الشهادة لجميع شهادات عميل العقدة في المجموعة
[bootstrap-token] إنشاء ConfigMap "معلومات المجموعة" في مساحة الاسم "kube-public"
[الإضافات] تطبيق الملحق الأساسي: CoreDNS
[الإضافات] تطبيق الملحق الأساسي: kube-proxy

تمت تهيئة طائرة التحكم Kubernetes بنجاح!

لبدء استخدام مجموعتك ، تحتاج إلى تشغيل ما يلي كمستخدم عادي:

mkdir -p $ HOME / .kube
sudo cp -i /etc/kubernetes/admin.conf $ HOME / .kube / config
sudo chown $ (id -u): $ (id -g) $ HOME / .kube / config

يجب عليك الآن نشر شبكة جراب إلى الكتلة.
شغّل "kubectl application -f [podnetwork] .yaml" بأحد الخيارات المدرجة في:
https://kubernetes.io/docs/concepts/cluster-administration/addons/

ثم يمكنك الانضمام إلى أي عدد من العقد العاملة عن طريق تشغيل ما يلي على كل منها كجذر:

kubeadm انضم 192.168.232.130:6443 - توكن xucir0.o4kzo3qqjyjnzphl
--Discovery-token-ca-cert-hash sha256: 022048b22926a2cb2f8295ce2e3f1f6fa7ffe1098bc116f7d304a26bcfb78656
"

واجهت نفس المشكلة مع kubernetes v1.14.1 و cri-o v1.14.0 على GCP Ubuntu 18.04 VM. سارت الأمور بشكل جيد عند استخدام عامل الإرساء. الرجوع إلى: https://github.com/cri-o/cri-o/issues/2357

كانت مشكلتي مع برامج تشغيل cgroup المختلفة. يستخدم CRIO systemd افتراضيًا ، ويستخدم kubelet cgroupfs افتراضيًا.

cat /etc/crio/crio.conf | grep cgroup
# cgroup_manager is the cgroup management implementation to be used
cgroup_manager = "systemd"

إذا كانت هذه هي حالتك ، فراجع https://kubernetes.io/docs/setup/independent/install-kubeadm/#configure -cgroup-driver-used-by-kubelet-on-master-node

فقط اكتب الملف

echo "KUBELET_EXTRA_ARGS=--cgroup-driver=systemd" > /etc/default/kubelet

وتشغيل kubeadm init بعد ذلك. أو قم بتغيير cgroup_manager إلى cgroupfs

على عكس عامل الإرساء ، يعد cri-o و containerd أكثر صعوبة قليلاً في الإدارة من حيث اكتشاف برنامج تشغيل cgroup ، ولكن هناك بعض الخطط لدعم ذلك من kubeadm.

تم التعامل مع عامل الإرساء بالفعل.

لذلك يبدو أنه لا يوجد حل سوى إعادة تعيين الكتلة $ (نعم | إعادة تعيين kubeadm) ، وهذا ليس حلاً في رأيي!

لقد نجح تغيير الريبو في الصورة بالنسبة لي ، لكن هذا ليس حلًا رائعًا.
--image-repository Registry.aliyuncs.com/google_containers

حالتي عملت مع هذا

sed -i 's / cgroup-driver = systemd / cgroup-driver = cgroupfs / g' /etc/systemd/system/kubelet.service.d/10-kubeadm.conf

لدي نفس المشكلة. أستخدم kubeadm init --config=init-config.yaml وفشلت ، تم إنشاء هذا الملف بواسطة kubeadm. هناك حقل افتراضي هو الإعلان عن العنوان 1.2.3.4 في الملف ، مما يجعل بدء contianer etcd يفشل. عندما أقوم بالتغيير إلى 127.0.0.1 ، يبدأ contianer etcd بنجاح و kubeadm init النجاح

لحل هذه المشكلة ، استخدم docker ps -a list all container check إذا كان بعضها قد خرج ، إذا كان الأمر كذلك ، استخدم docker logs CONTIANER_ID لترى ما حدث. آمل أن يساعد

مرحبًا بالجميع ، هل لدى أي شخص حل؟ نفس المشكلة هنا ، ولكن باستخدام k3s .

MateusMac ربما يجب أن تفتح تقرير خطأ ضد k3s أيضًا.

عملت لمدة أسبوع على الحصول على kubeadm للعمل عليها
أوبونتو 18.04.2018
عامل ميناء 18.06-2- م
k8s 1.15.1
sudo kubeadm init --pod-network-cidr=10.244.0.0/16

Fails with:

[etcd] Creating static Pod manifest for local etcd in "/etc/kubernetes/manifests"
[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory "/etc/kubernetes/manifests". This can take up to 4m0s
[kubelet-check] Initial timeout of 40s passed.

Unfortunately, an error has occurred:
        timed out waiting for the condition

This error is likely caused by:
        - The kubelet is not running
        - The kubelet is unhealthy due to a misconfiguration of the node in some way (required cgroups disabled)

If you are on a systemd-powered system, you can try to troubleshoot the error with the following commands:
        - 'systemctl status kubelet'
        - 'journalctl -xeu kubelet'

Additionally, a control plane component may have crashed or exited when started by the container runtime.
To troubleshoot, list all containers using your preferred container runtimes CLI, e.g. docker.
Here is one example how you may list all Kubernetes containers running in docker:
        - 'docker ps -a | grep kube | grep -v pause'
        Once you have found the failing container, you can inspect its logs with:
        - 'docker logs CONTAINERID'
error execution phase wait-control-plane: couldn't initialize a Kubernetes cluster

تظهر سجلات kubelet أنه لا يمكنه العثور على العقد لتجاوز القاعدة الأولى:

warproot<strong i="15">@warp02</strong>:~$ systemctl status kubelet
● kubelet.service - kubelet: The Kubernetes Node Agent
   Loaded: loaded (/lib/systemd/system/kubelet.service; enabled; vendor preset: enabled)
  Drop-In: /etc/systemd/system/kubelet.service.d
           └─10-kubeadm.conf
   Active: active (running) since Sun 2019-08-04 18:22:26 AEST; 5min ago
     Docs: https://kubernetes.io/docs/home/
 Main PID: 12569 (kubelet)
    Tasks: 27 (limit: 9830)
   CGroup: /system.slice/kubelet.service
           └─12569 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-dri

Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322762   12569 kuberuntime_sandbox.go:68] CreatePodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)"
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322806   12569 kuberuntime_manager.go:692] createPodSandbox for pod "kube-scheduler-warp02_kube-system(ecae9d12d3610192347be3d1aa5aa552)
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.322872   12569 pod_workers.go:190] Error syncing pod ecae9d12d3610192347be3d1aa5aa552 ("kube-scheduler-warp02_kube-system(ecae9d12d36101
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.373094   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.375587   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.CSIDriver: Get https://10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.473295   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.573567   12569 kubelet.go:2248] node "warp02" not found
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.575495   12569 reflector.go:125] k8s.io/client-go/informers/factory.go:133: Failed to list *v1beta1.RuntimeClass: Get https://10.1.1.4:6
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.590886   12569 event.go:249] Unable to write event: 'Post https://10.1.1.4:6443/api/v1/namespaces/default/events: dial tcp 10.1.1.4:6443
Aug 04 18:28:03 warp02 kubelet[12569]: E0804 18:28:03.673767   12569 kubelet.go:2248] node "warp02" not found




يجب أن أشير إلى أن لدي العديد من بطاقات NIC على هذه الأجهزة المعدنية العارية:

warproot<strong i="6">@warp02</strong>:~$ ifconfig
docker0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 172.17.0.1  netmask 255.255.0.0  broadcast 172.17.255.255
        inet6 fe80::42:feff:fe65:37f  prefixlen 64  scopeid 0x20<link>
        ether 02:42:fe:65:03:7f  txqueuelen 0  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 6  bytes 516 (516.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp35s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.0.0.2  netmask 255.255.255.0  broadcast 10.0.0.255
        inet6 fe80::32b5:c2ff:fe02:410b  prefixlen 64  scopeid 0x20<link>
        ether 30:b5:c2:02:41:0b  txqueuelen 1000  (Ethernet)
        RX packets 46  bytes 5821 (5.8 KB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 70  bytes 7946 (7.9 KB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

enp6s0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 10.1.1.4  netmask 255.255.255.0  broadcast 10.1.1.255
        inet6 fd42:59ff:1166:0:25a7:3617:fee6:424e  prefixlen 64  scopeid 0x0<global>
        inet6 fe80::1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x20<link>
        inet6 fd9e:fdd6:9e01:0:1a03:73ff:fe44:5694  prefixlen 64  scopeid 0x0<global>
        ether 18:03:73:44:56:94  txqueuelen 1000  (Ethernet)
        RX packets 911294  bytes 1361047672 (1.3 GB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 428759  bytes 29198065 (29.1 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
        device interrupt 17  

ib0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-10-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

ib1: flags=4099<UP,BROADCAST,MULTICAST>  mtu 4092
        unspec A0-00-02-20-FE-80-00-00-00-00-00-00-00-00-00-00  txqueuelen 256  (UNSPEC)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

lo: flags=73<UP,LOOPBACK,RUNNING>  mtu 65536
        inet 127.0.0.1  netmask 255.0.0.0
        inet6 ::1  prefixlen 128  scopeid 0x10<host>
        loop  txqueuelen 1000  (Local Loopback)
        RX packets 25473  bytes 1334779 (1.3 MB)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 25473  bytes 1334779 (1.3 MB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0


لا أعرف ما إذا كانت هذه مشكلة ، لكنني قمت بإعداد ملف /etc/hosts كـ

warproot<strong i="7">@warp02</strong>:~$ cat /etc/hosts
127.0.0.1       localhost.localdomain   localhost
::1             localhost6.localdomain6 localhost6
# add our host name
10.1.1.4 warp02 warp02.ad.xxx.com
# The following lines are desirable for IPv6 capable hosts
::1     localhost ip6-localhost ip6-loopback
fe00::0 ip6-localnet
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
ff02::3 ip6-allhosts
# add our ipv6 host name
fd42:59ff:1166:0:25a7:3617:fee6:424e warp02 warp02.ad.xxx.com

warproot<strong i="8">@warp02</strong>:~$ 

لذلك ، من الإعداد (على ما أعتقد) النظر إلى NIC 10.1.1.4 على أنها "شبكة" لـ k8s

يبدو أن nslookup مقابل اسم العقدة يعمل بشكل جيد:

warproot<strong i="13">@warp02</strong>:~$ nslookup warp02
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer:
Name:   warp02.ad.xxx.com
Address: 10.1.1.4
Name:   warp02.ad.xxx.com
Address: fd42:59ff:1166:0:25a7:3617:fee6:424e

warproot<strong i="14">@warp02</strong>:~$ 

لقد مررت بوثائق التثبيت kubeadm عدة مرات.

عجيب. لا يمكن العثور على الشبكة.

متعثر.

للإصدار 1.15.3 تمكنت من إصلاح هذا على Ubuntu 18.04 عن طريق إضافة

kind: InitConfiguration
nodeRegistration:
  kubeletExtraArgs:
    cgroup-driver: "systemd"

إلى kubeadm config الخاص بي ثم تشغيل kubeadm init

لدي نفس المشكلة هنا ، مع الإصدار 1.15.3 ، على Ubuntu 18.04
@ kris-nova سأكون ممتنًا حقًا إذا كان بإمكانك تحديد مكان ملف التكوين هذا :-)

تحديث: لا يمكنني معرفة السبب حقًا ، ولكنه يعمل الآن ، دون تغيير أي تكوين!
(ملاحظة: لا أعرف ما إذا كان الأمر مرتبطًا ، لكنني قمت بتحديث عامل الإرساء من الإصدار 19.03.1 إلى الإصدار 19.03.2 ، قبل إعادة المحاولة kubeadm init )

كنت أحصل على خطأ أدناه أثناء تشغيل kubeadm init ie nodexx غير موجود ..

[ root @ node01 ~] # journalctl -xeu kubelet
Nov 07 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.682095 2968 kubelet.go: 2267] العقدة "node01" غير موجودة
Nov 07 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.782554 2968 kubelet.go: 2267] العقدة "node01" غير موجودة
Nov 07 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.829142 2968 reflector.go: 123] k8s.io/client-go/informers/factory.go:134: فشل في القائمة * v1beta1.CSID
Nov 07 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.884058 2968 kubelet.go: 2267] العقدة "node01" غير موجودة
Nov 07 10:34:02 node01 kubelet [2968]: E1107 10: 34: 02.984510 2968 kubelet.go: 2267] العقدة "node01" غير موجودة
Nov 07 10:34:03 node01 kubelet [2968]: E1107 10: 34: 03.030884 2968 reflector.go: 123]

تم حلها عن طريق:

setenforce 0

sed -i --follow-symlinks 's / SELINUX = فرض / SELINUX = معطل / g' / etc / sysconfig / selinux

المشكلة نفسها

في حالتي ، كان ذلك بسبب الانجراف الزمني في العقدة الرئيسية ، والذي حدث بعد انقطاع التيار الكهربائي.
لقد تم إصلاح ذلك عن طريق الجري

# Correcting the time as mentioned here https://askubuntu.com/a/254846/861548
sudo service ntp stop
sudo ntpdate -s time.nist.gov
sudo service ntp start
# Then restarting the kubelet
sudo systemctl restart kubelet.service
# I also had to run daemon-reload as I got the following warning
# Warning: The unit file, source configuration file or drop-ins of kubelet.service changed on disk. Run 'systemctl daemon-reload' to reload units.
sudo systemctl daemon-reload
# I also made another restart, which I don't know whether needed or not
sudo systemctl restart kubelet.service

لقد أصلحت مشكلتي نفسها node "xxxx" not found , حاول رؤية سجل استخدام الحاوية لسجلات عامل ميناء الحاويات ، ثم أرى أن الخادم يحاول الاتصال 127.0.0.1:2379 ، وتعديل الملف · /etc/kubernetes/manifests/etcd.yaml ، إعادة التشغيل ، المشكلة ثابتة。

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