Kubeadm: CoreDNS لا يبدأ في Ubuntu 18.04.Bionic Beaver

تم إنشاؤها على ٩ يوليو ٢٠١٨  ·  18تعليقات  ·  مصدر: kubernetes/kubeadm

ما هي الكلمات الرئيسية التي بحثت عنها في قضايا kubeadm قبل تقديم هذا؟

DNS ، resolv.conf ، coredns

تقرير الشوائب

إصدارات

إصدار kubeadm (استخدم kubeadm version ):
kubeadm version: &version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:14:41Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}

البيئة :

  • إصدار Kubernetes (استخدم kubectl version ):
  Client Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:17:28Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  Server Version: version.Info{Major:"1", Minor:"11", GitVersion:"v1.11.0", GitCommit:"91e7b4fd31fcd3d5f436da26c980becec37ceefe", GitTreeState:"clean", BuildDate:"2018-06-27T20:08:34Z", GoVersion:"go1.10.2", Compiler:"gc", Platform:"linux/amd64"}
  • مزود السحابة أو تكوين الأجهزة :
    baremetal (إنتل زيون ، 2x2 تيرا بايت HDD ، 32 جيجا بايت رام)
  • نظام التشغيل (على سبيل المثال من / etc / os-release):
    نظام التشغيل Ubuntu 18.04 LTS (Bionic Beaver)
  • Kernel (على سبيل المثال uname -a ):
    4.15.0-24 عام

ماذا حدث؟

بعد تثبيت kubernetes عبر kubeadm ، لن تظهر Pods pods. kubectl get pods --all-namespaces يطبع هذا:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-kgg8d              0/1       Pending   0          2h
kube-system   coredns-78fcdf6894-vl9jf              0/1       Pending   0          2h
kube-system   etcd-beetlejuice                      1/1       Running   0          2h
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          2h
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          2h
kube-system   kube-proxy-bjdqd                      1/1       Running   0          2h
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          2h

ماذا توقعت أن يحدث؟

يتغير coredns إلى الحالة "قيد التشغيل" ويتم تشغيل kubernetes دون مشاكل

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

هذا هو النص الذي استخدمته للتثبيت:

curl -s https://packages.cloud.google.com/apt/doc/apt-key.gpg | apt-key add -
cat <<EOF >/etc/apt/sources.list.d/kubernetes.list
deb http://apt.kubernetes.io/ kubernetes-xenial main
EOF

apt-get update
apt-get install -y docker.io
apt-get install -y kubeadm

kubeadm init --pod-network-cidr=10.27.0.0/16

أي شيء آخر نحن بحاجة إلى معرفته؟

أعتقد نعم ، لكني لا أعرف ماذا ... إذا كنت بحاجة إلى نوع من السجلات ، فقط أخبرني.

kinbug prioritawaiting-more-evidence prioritimportant-soon

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

سيء جدًا لعدم وجود سجلات من المجدول.

محتويات /var/lib/kubelet/kubeadm-flags.env هي

يبدو أنه تمت إضافة العلم --resolv-conf ، لذا لا بأس بذلك.

الآن سيكون kube عقدة واحدة.

اتصل بـ kubeadm reset ثم اتصل بـ kubeadm init ... مرة أخرى.
ثم انسخ التكوين إلى دليل المستخدم الخاص بك وحاول تثبيت مكون إضافي لشبكة pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

ومعرفة ما إذا كانت كبسولات نظام أسماء النطاقات جاهزة. قد لا يكون هذا منطقيًا ، ولكن يرجى المحاولة.

ال 18 كومينتر

يارب احفظها
الإخراج من:
kubectl describe pod <coredns-pod-ids>

والأخطاء ذات الصلة من:

'systemctl status kubelet'
'journalctl -xeu kubelet'

من شأنه أن يساعد أكثر.
شكرا.

من kubectl describe pod coredns-78fcdf6894-kgg8d -n kube-system :

Name:           coredns-78fcdf6894-kgg8d
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  4m (x1436 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

ومن kubectl describe pod coredns-78fcdf6894-vl9jf -n kube-system :

Name:           coredns-78fcdf6894-vl9jf
Namespace:      kube-system
Node:           <none>
Labels:         k8s-app=kube-dns
                pod-template-hash=3497892450
Annotations:    <none>
Status:         Pending
IP:             
Controlled By:  ReplicaSet/coredns-78fcdf6894
Containers:
coredns:
    Image:       k8s.gcr.io/coredns:1.1.3
    Ports:       53/UDP, 53/TCP, 9153/TCP
    Host Ports:  0/UDP, 0/TCP, 0/TCP
    Args:
    -conf
    /etc/coredns/Corefile
    Limits:
    memory:  170Mi
    Requests:
    cpu:        100m
    memory:     70Mi
    Liveness:     http-get http://:8080/health delay=60s timeout=5s period=10s #success=1 #failure=5
    Environment:  <none>
    Mounts:
    /etc/coredns from config-volume (ro)
    /var/run/secrets/kubernetes.io/serviceaccount from coredns-token-4fqm7 (ro)
Conditions:
Type           Status
PodScheduled   False 
Volumes:
config-volume:
    Type:      ConfigMap (a volume populated by a ConfigMap)
    Name:      coredns
    Optional:  false
coredns-token-4fqm7:
    Type:        Secret (a volume populated by a Secret)
    SecretName:  coredns-token-4fqm7
    Optional:    false
QoS Class:       Burstable
Node-Selectors:  <none>
Tolerations:     CriticalAddonsOnly
                node-role.kubernetes.io/master:NoSchedule
                node.kubernetes.io/not-ready:NoExecute for 300s
                node.kubernetes.io/unreachable:NoExecute for 300s
Events:
Type     Reason            Age                 From               Message
----     ------            ----                ----               -------
Warning  FailedScheduling  1m (x1467 over 4h)  default-scheduler  0/1 nodes are available: 1 node(s) were not ready.

لا أرى أي أخطاء في 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, override.conf
Active: active (running) since Mon 2018-07-09 17:43:53 CEST; 4h 7min ago
    Docs: http://kubernetes.io/docs/
Main PID: 26710 (kubelet)
    Tasks: 32 (limit: 4915)
CGroup: /system.slice/kubelet.service
        └─26710 /usr/bin/kubelet --bootstrap-kubeconfig=/etc/kubernetes/bootstrap-kubelet.conf --kubeconfig=/etc/kubernetes/kubelet.conf --config=/var/lib/kubelet/config.yaml --cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-co

في journalctl -xeu kubelet أرى الأسطر التالية عدة مرات:

Jul 09 21:54:48 beetlejuice kubelet[26710]: E0709 21:54:48.883071   26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

لمعلوماتك ، /etc/resolv.conf :

### Hetzner Online GmbH installimage
# nameserver config
nameserver 213.133.99.99
nameserver 213.133.98.98
nameserver 213.133.100.100
nameserver 2a01:4f8:0:1::add:1010
nameserver 2a01:4f8:0:1::add:9999
nameserver 2a01:4f8:0:1::add:9898

حيث Hetzner هو اسم مشغل مركز البيانات.

يارب احفظها
فشل المجدول ولكن لم يتضح لي السبب.

يمكنك العثور على معرف جراب kube-Scheduler باستخدام
kubectl get pods --all-namespace

ثم يمكنك محاولة هذا لبدء Terminal في هذا الكبسولة:
kubectl exec -ti <POD-ID-HERE> bash -n kube-system

ومن هناك يمكنك محاولة البحث في السجل:
cat /var/log

لا توجد ضمانات على أن لديها شيئًا ذا صلة.

زوجان من الأشياء الأخرى:

  • هل تقوم بتثبيت شبكة بود بعد init (يسأل فقط في حالة)؟
  • بعد init ما هي المحتويات التي تحصل عليها في /var/lib/kubelet/kubeadm-flags.env ؟

kubectl exec -ti kube-scheduler-beetlejuice bash -n kube-system يقول

OCI runtime exec failed: exec failed: container_linux.go:348: starting container process caused "exec: \"bash\": executable file not found in $PATH": unknown command terminated with exit code 126

لذلك حاولت kubectl exec -ti kube-scheduler-beetlejuice sh -n kube-system لذا sh بدلاً من bash ... لكن لا يوجد ملف /var/log

ls -lAh /var :

drwxr-xr-x    3 root     root        4.0K May 22 17:00 spool
drwxr-xr-x    2 root     root        4.0K May 22 17:00 www

الآن سيكون kube عقدة واحدة.

محتويات /var/lib/kubelet/kubeadm-flags.env هي

KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni --resolv-conf=/run/systemd/resolve/resolv.conf

سيء جدًا لعدم وجود سجلات من المجدول.

محتويات /var/lib/kubelet/kubeadm-flags.env هي

يبدو أنه تمت إضافة العلم --resolv-conf ، لذا لا بأس بذلك.

الآن سيكون kube عقدة واحدة.

اتصل بـ kubeadm reset ثم اتصل بـ kubeadm init ... مرة أخرى.
ثم انسخ التكوين إلى دليل المستخدم الخاص بك وحاول تثبيت مكون إضافي لشبكة pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

ومعرفة ما إذا كانت كبسولات نظام أسماء النطاقات جاهزة. قد لا يكون هذا منطقيًا ، ولكن يرجى المحاولة.

بعد ظهور كبسولات التهيئة الجديدة بالشكل التالي (مرة أخرى):

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              0/1       Pending   0          1m
kube-system   coredns-78fcdf6894-wd9nt              0/1       Pending   0          1m
kube-system   etcd-beetlejuice                      1/1       Running   0          18s
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          36s
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          12s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          1m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          24s

بعد تثبيت البرنامج المساعد weave يبدو كالتالي:

NAMESPACE     NAME                                  READY     STATUS    RESTARTS   AGE
kube-system   coredns-78fcdf6894-lcmg6              1/1       Running   0          2m
kube-system   coredns-78fcdf6894-wd9nt              1/1       Running   0          2m
kube-system   etcd-beetlejuice                      1/1       Running   0          1m
kube-system   kube-apiserver-beetlejuice            1/1       Running   0          1m
kube-system   kube-controller-manager-beetlejuice   1/1       Running   0          58s
kube-system   kube-proxy-zrhgj                      1/1       Running   0          2m
kube-system   kube-scheduler-beetlejuice            1/1       Running   0          1m
kube-system   weave-net-ldxg5                       2/2       Running   0          24s

الآن يعمل 👍

لقد قمت بتثبيت kubernetes-dashboard الآن بدون مشاكل ، هذا لم يكن يعمل من قبل. لكن هل هذا هو الحل لهذه المشكلة؟

شكرا للاختبار.

لكن هل هذا هو الحل لهذه المشكلة؟

أود أن أقول - نعم ، في الوقت الحالي.

يقوم كل من CLI والوثائق بإرشاد المستخدمين إلى تثبيت مكون إضافي لشبكة pod مباشرة بعد init .
لم نوثق بالضبط ما يحدث هل تم تخطي هذه الخطوة ، لكن من المتوقع أن الكتلة لن تعمل بشكل صحيح ...

إذا شعر شخص ما أنه لا يجب إغلاق هذه المشكلة ، فيرجى إعادة فتحها.

لدي المشكلة بالضبط ، على الرغم من أن المكوِّن الإضافي weave لم يفي بالغرض. ما زلت أرى كبسولات coredns في حالة ContainerCreating . لقد مر ما يقرب من ساعة الآن ، لذلك ...

linux-uwkw:~ # kubectl cluster-info
Kubernetes master is running at https://192.168.178.163:6443
KubeDNS is running at https://192.168.178.163:6443/api/v1/namespaces/kube-system/services/kube-dns:dns/proxy

To further debug and diagnose cluster problems, use 'kubectl cluster-info dump'.
linux-uwkw:~ # cat /var/lib/kubelet/kubeadm-flags.env
KUBELET_KUBEADM_ARGS=--cgroup-driver=cgroupfs --cni-bin-dir=/opt/cni/bin --cni-conf-dir=/etc/cni/net.d --network-plugin=cni
  • علامة --resolv-conf مفقودة. لذلك أعتقد أن هذه مشكلة. كيف يمكنني تكوين kubeqdm لإضافته؟
  • --cni-bin-dir=/opt/cni/bin خطأ. في نظامي ليس لدي هذا.
linux-uwkw:~ # rpm -ql cni
/etc/cni
/etc/cni/net.d
/etc/cni/net.d/99-loopback.conf.sample
/usr/lib/cni
/usr/lib/cni/noop
/usr/sbin/cnitool
/usr/share/doc/packages/cni
/usr/share/doc/packages/cni/CONTRIBUTING.md
/usr/share/doc/packages/cni/DCO
/usr/share/doc/packages/cni/README.md
/usr/share/licenses/cni
/usr/share/licenses/cni/LICENSE

أعتقد أنني يجب أن أضع هناك /usr/sbin ، أليس كذلك؟

أيضًا السجلات من المجدول هي:

linux-uwkw:~ # docker logs k8s_kube-scheduler_kube-scheduler-linux-uwkw_kube-system_a00c35e56ebd0bdfcd77d53674a5d2a1_0
I0813 21:18:19.816990       1 server.go:126] Version: v1.11.2
W0813 21:18:19.821719       1 authorization.go:47] Authorization is disabled
W0813 21:18:19.821744       1 authentication.go:55] Authentication is disabled
I0813 21:18:19.821787       1 insecure_serving.go:47] Serving healthz insecurely on 127.0.0.1:10251
E0813 21:18:25.603025       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:25.603122       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:25.603161       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:25.603253       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:25.603286       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:25.603335       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:25.603364       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:25.603437       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:25.603491       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:25.605642       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
E0813 21:18:26.603723       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolume: persistentvolumes is forbidden: User "system:kube-scheduler" cannot list persistentvolumes at the cluster scope
E0813 21:18:26.606225       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Service: services is forbidden: User "system:kube-scheduler" cannot list services at the cluster scope
E0813 21:18:26.606295       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.ReplicationController: replicationcontrollers is forbidden: User "system:kube-scheduler" cannot list replicationcontrollers at the cluster scope
E0813 21:18:26.607860       1 reflector.go:205] k8s.io/kubernetes/cmd/kube-scheduler/app/server.go:176: Failed to list *v1.Pod: pods is forbidden: User "system:kube-scheduler" cannot list pods at the cluster scope
E0813 21:18:26.611457       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.StorageClass: storageclasses.storage.k8s.io is forbidden: User "system:kube-scheduler" cannot list storageclasses.storage.k8s.io at the cluster scope
E0813 21:18:26.612777       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.PersistentVolumeClaim: persistentvolumeclaims is forbidden: User "system:kube-scheduler" cannot list persistentvolumeclaims at the cluster scope
E0813 21:18:26.616076       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.StatefulSet: statefulsets.apps is forbidden: User "system:kube-scheduler" cannot list statefulsets.apps at the cluster scope
E0813 21:18:26.616779       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.PodDisruptionBudget: poddisruptionbudgets.policy is forbidden: User "system:kube-scheduler" cannot list poddisruptionbudgets.policy at the cluster scope
E0813 21:18:26.619308       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1beta1.ReplicaSet: replicasets.extensions is forbidden: User "system:kube-scheduler" cannot list replicasets.extensions at the cluster scope
E0813 21:18:26.620048       1 reflector.go:205] k8s.io/kubernetes/vendor/k8s.io/client-go/informers/factory.go:130: Failed to list *v1.Node: nodes is forbidden: User "system:kube-scheduler" cannot list nodes at the cluster scope
I0813 21:18:28.429769       1 controller_utils.go:1025] Waiting for caches to sync for scheduler controller
I0813 21:18:28.533687       1 controller_utils.go:1032] Caches are synced for scheduler controller
I0813 21:18:28.533868       1 leaderelection.go:185] attempting to acquire leader lease  kube-system/kube-scheduler...
I0813 21:18:28.539621       1 leaderelection.go:194] successfully acquired lease kube-system/kube-scheduler

لدي المشكلة بالضبط

لا أعتقد أنها نفس المشكلة.

KubeDNS قيد التشغيل في

CoreDNS هو خادم DNS الافتراضي في 1.11.x. هل قمت بتمكين ذلك عمدا؟

cat /var/lib/kubelet/kubeadm-flags.env

/var/lib/kubelet/kubeadm-flags.env تلقائيًا في وقت تشغيل kubeadm ويجب عدم تعديله.
يمكنك إضافة أعلام في /etc/default/kubelet

انظر المعلومات هنا:
https://github.com/kubernetes/kubernetes/blob/master/build/debs/10-kubeadm.conf

علامة --resolv-conf مفقودة.

ستتم إضافته فقط إذا كانت التوزيعة الخاصة بك تستخدم هذا:
https://www.freedesktop.org/software/systemd/man/systemd-resolved.service.html

--cni-bin-dir = / opt / cni / bin --cni-conf-dir = / etc / cni / net.d

هذه هي القيم الافتراضية ، ولكن AFAIK لا ينبغي أن تتم إضافتها تلقائيًا في وقت التشغيل.

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

لقد وجدت مشكلتي بعد كل شيء. كنت أفتقد ثنائية loopback من CNI عند /opt/cni/bin .

cd /opt/cni/bin
curl -L -O https://github.com/containernetworking/cni/releases/download/v0.4.0/cni-amd64-v0.4.0.tgz
tar -xf cni-amd64-v0.4.0.tgz
systemctl restart kubelet

لقد قابلت نفس المشكلة وقمت بحلها عن طريق تثبيت الفانيلا. بعد تثبيت الفانيلا ، يمكن إنشاء النوى والقرون الأخرى بشكل صحيح.

لماذا تركيب الفانيلا يمكن أن يحل المشكلة؟

أقوم أيضًا بتهيئة مجموعة K8s الخاصة بي باستخدام kubeadm وإضافة --pod-network-cidr arg. لذلك أعتقد أنه إذا لم يتم تثبيت الفانيلا أو غيرها من الوظائف الإضافية لشبكة البودات ، فلن يتمكن kubelet من معرفة كيفية تعيين IP للجراب ورمي الخطأ.

قلت أنك ترى الرسالة التالية باستخدام journal -xeu kubelet :

26710 kubelet.go:2112] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninit
Jul 09 21:54:49 beetlejuice kubelet[26710]: E0709 21:54:49.566069   26710 dns.go:131] Nameserver limits were exceeded, some nameservers have been omitted, the applied nameserver line is: 213.133.99.99 213.133.98.98 213.133.100.100
Jul 09 21:54:53 beetlejuice kubelet[26710]: W0709 21:54:53.884846   26710 cni.go:172] Unable to update cni config: No networks found in /etc/cni/net.d

لقد رأيت أيضًا سجلات مماثلة على جهازي ولذا أعتقد أن هذا هو سبب المشكلة.

لماذا تركيب الفانيلا يمكن أن يحل المشكلة؟

يجب تثبيت مكون إضافي CNI:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm
Installing a pod network add-on
You must install a pod network add-on so that your pods can communicate with each other.

يجب تثبيت مكون إضافي CNI:
https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm

لا يمكن بدء تشغيل وحدات النواة الخاصة بي نظرًا لعدم تثبيت الوظيفة الإضافية لشبكة pod بعد بدء تشغيل kubernetes والآن أعرف ذلك ، شكرًا لك.

سيء جدًا لعدم وجود سجلات من المجدول.

محتويات /var/lib/kubelet/kubeadm-flags.env هي

يبدو أنه تمت إضافة العلم --resolv-conf ، لذا لا بأس بذلك.

الآن سيكون kube عقدة واحدة.

اتصل بـ kubeadm reset ثم اتصل بـ kubeadm init ... مرة أخرى.
ثم انسخ التكوين إلى دليل المستخدم الخاص بك وحاول تثبيت مكون إضافي لشبكة pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

ومعرفة ما إذا كانت كبسولات نظام أسماء النطاقات جاهزة. قد لا يكون هذا منطقيًا ، ولكن يرجى المحاولة.

إنه يعمل بالنسبة لي! شكر كثيرا

سيء جدًا لعدم وجود سجلات من المجدول.

محتويات /var/lib/kubelet/kubeadm-flags.env هي

يبدو أنه تمت إضافة العلم --resolv-conf ، لذا لا بأس بذلك.

الآن سيكون kube عقدة واحدة.

اتصل بـ kubeadm reset ثم اتصل بـ kubeadm init ... مرة أخرى.
ثم انسخ التكوين إلى دليل المستخدم الخاص بك وحاول تثبيت مكون إضافي لشبكة pod (weave):

kubectl apply -f "https://cloud.weave.works/k8s/net?k8s-version=$(kubectl version | base64 | tr -d '\n')"

ومعرفة ما إذا كانت كبسولات نظام أسماء النطاقات جاهزة. قد لا يكون هذا منطقيًا ، ولكن يرجى المحاولة.

حساب الخدمة / نسج صافي تكوين
clusterrole.rbac.authorization.k8s.io/weave-net مهيأ
clusterrolebinding.rbac.authorization.k8s.io/weave-net مهيأ
تم تكوين الدور.rbac.authorization.k8s.io/weave-net
تم تكوين rolebinding.rbac.authorization.k8s.io/weave-net
غير قادر على التعرف على أي مطابقات لنوع "DaemonSet" في الإصدار "extension / v1beta1"

غير قادر على التكوين

غير قادر على التعرف على أي مطابقات لنوع "DaemonSet" في الإصدار "extension / v1beta1"

هذا خطأ في جانب البرنامج المساعد CNI.
جرب المكون الإضافي Callico CNI بدلاً من ذلك.

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