Flannel: لم يتم تجميع جراب cidr

تم إنشاؤها على ١٩ مايو ٢٠١٧  ·  12تعليقات  ·  مصدر: coreos/flannel

رؤية شيء غريب. إذا قمت بحذف العقدة من k8s وأعدت تشغيلها ، فإن الفانيلا يفشل في البدء بالكامل ، ويتعثر في حلقة:

E0519 00: 37: 28.550351 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" pod cidr غير مخصصة
E0519 00: 37: 29.551107 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" pod cidr غير مخصصة
E0519 00: 37: 30.551851 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" pod cidr غير مخصصة
E0519 00: 37: 31.552629 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" لم يتم تعيين pod cidr
E0519 00: 37: 32.553437 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" لم يتم تعيين pod cidr
E0519 00: 37: 33.554245 1 network.go: 102] فشل في تسجيل الشبكة: فشل في الحصول على الإيجار: العقدة "k8s-test-2.novalocal" pod cidr غير مخصصة

لا أرى التعليقات التوضيحية الفانيلا المتوقعة يتم إضافتها إلى العقدة أيضًا. يبدو أن جميع العقد الأخرى في النظام تعمل بالرغم من ذلك. هذا مع أحدث الفانيلا المستضافة ذاتيًا في k8s 1.6.3

kinsupport

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

جرب الضربة ، قد تكون مفيدة
تحرير /etc/kubernetes/manifests/kube-controller-manager.yaml
في الأمر ، أضف
--allocate-node-cidrs = صحيح
- العنقود- cidr = 10.244.0.0 / 16
ثم أعد تحميل kubelet
وضعي هو ، تحديث kubernete 1.7.1 إلى 1.7.4 ، و / etc / kubernetes / manifests cidr paramers فقدت.

ال 12 كومينتر

ماذا تقصد ب

إذا قمت بحذف العقدة من k8s وأعد تشغيلها

يحتاج Flannel إلى جلب podCidr من العقدة قبل أن يبدأ.

لسبب ما أن عقدة واحدة لا تعمل. لقد فعلت ذلك ل:
kubectl حذف العقدة k8s-test-2. البيضاوي

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

يُظهر إجراء فرق بين عقدة عاملة والعقدة غير العاملة:
- التعليقات التوضيحية: node.alpha.kubernetes.io/ttl=0

  • kubernetes.io/hostname=k8s-test-4.novalocal
    + التعليقات التوضيحية: flannel.alpha.coreos.com/backend-data={"VtepMAC":"e2:a9:8b:50:dc:eb "}
  • flannel.alpha.coreos.com/backend-type=vxlan
  • flannel.alpha.coreos.com/kube-subnet-manager=true
  • flannel.alpha.coreos.com/public-ip=172.20.207.11
  • node.alpha.kubernetes.io/ttl=0

لا تتم إضافة تعليقات الفانيلا إلى العقدة المكسورة. لست متأكدًا مما إذا كان هذا مناسبًا أم لا.

كيف يكتسب flannel نطاق IP عند استخدام مدير k8s؟

أواجه نفس المشكلة مع Kubernetes 1.6.4 (kubeadm). تم تطبيق الملفات أدناه:

https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel-rbac.yml
https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml

# kubectl -n kube-system logs -c kube-flannel kube-flannel-ds-zj00j
I0526 22:48:02.412713       1 kube.go:111] Waiting 10m0s for node controller to sync
I0526 22:48:02.412795       1 kube.go:315] starting kube subnet manager
I0526 22:48:03.413179       1 kube.go:118] Node controller sync successful
I0526 22:48:03.413240       1 main.go:132] Installing signal handlers
I0526 22:48:03.413374       1 manager.go:136] Determining IP address of default interface
I0526 22:48:03.414338       1 manager.go:149] Using interface with name eth0 and address 10.10.10.10
I0526 22:48:03.414379       1 manager.go:166] Defaulting external address to interface address (10.10.10.10)
E0526 22:48:03.469315       1 network.go:102] failed to register network: failed to acquire lease: node "host.example.com" pod cidr not assigned

@ kfox1111 تحتاج العقدة إلى podCidr. هل يمكنك التحقق مما إذا كان الأمر كذلك - kubectl get nodes -o jsonpath='{.items[*].spec.podCIDR}'

gtirloni هل رأيت هذه الملاحظة في مستندات kubeadm

هناك تطبيقات لشبكة pod حيث يلعب الرئيسي أيضًا دورًا في تخصيص مجموعة من مساحة عنوان الشبكة لكل عقدة. عند استخدام الفانيلا كشبكة جراب (موضحة في الخطوة 3) ، حدد --pod-network-cidr = 10.244.0.0 / 16. هذا غير مطلوب لأية شبكات أخرى إلى جانب Flannel.

نعم. لم تحصل جميع العقد على تخصيصاتها ، فقط بعض العقد. هذا يبدو حقًا خطأ بالنسبة لي.

👍 ستحتاج إلى رفع ذلك مع فريق kubeadm

إذا تم تخصيص pod cidr لبعض العقد ولكن لم يتم تعيين البعض الآخر ، فهل هذه مشكلة kubernetes أو مشكلة kubeadm؟ أعتقد أن k8s نفسها ربما؟

أم أن الفانيلا يطلب pod cidr ليتم تخصيصه بواسطة خادم api؟

جرب الضربة ، قد تكون مفيدة
تحرير /etc/kubernetes/manifests/kube-controller-manager.yaml
في الأمر ، أضف
--allocate-node-cidrs = صحيح
- العنقود- cidr = 10.244.0.0 / 16
ثم أعد تحميل kubelet
وضعي هو ، تحديث kubernete 1.7.1 إلى 1.7.4 ، و / etc / kubernetes / manifests cidr paramers فقدت.

جرب الضربة ، قد تكون مفيدة
تحرير /etc/kubernetes/manifests/kube-controller-manager.yaml
في الأمر ، أضف
--allocate-node-cidrs = صحيح
- العنقود- cidr = 10.244.0.0 / 16
ثم أعد تحميل kubelet
وضعي هو ، تحديث kubernete 1.7.1 إلى 1.7.4 ، و / etc / kubernetes / manifests cidr paramers فقدت.

شكرا

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

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