/ نوع الخطأ
إصدار kubeadm (استخدم kubeadm version
):
الإصدار 1.12.2
أقوم بإعداد أداة اختبار تعتمد على VM تستخدم kubeadm لإعداد مجموعة k8s صغيرة. تم تكوين الأجهزة الظاهرية لإعداد عناوين ارتباط IPv4 المحلية واستخدام DNS متعدد البث للعثور على بعضها البعض. نظرًا للطريقة التي يتم بها إعداد VMs ، يجب أن أتجاوز عنوان --apiserver-advertise-address لجعل k8s تستخدم واجهة LAN لاتصال العقدة ، لأنها ليست الواجهة الافتراضية.
لسوء الحظ ، يتحقق kubeadm من .IsGlobalUnicast()
على العنوان الذي تم تمريره ، لذلك تم رفض عنوان IPv4 المحلي للارتباط على الرغم من أنه طريقة صالحة لإعداد مجموعة صغيرة.
يجب أن يقبل kubeadm init
عناوين IPv4 أو IPv6 المحلية للارتباط ، إذا تم تحديدها صراحةً في سطر الأوامر.
kubeadm init --apiserver-advertise-address=169.254.152.255
/ إزالة الشوائب
/ نوع الميزة
/ عقدة سيج
/ الأولوية المتراكمة
/ تعيينkad
سي سي rosti
تضمين التغريدة
هذا حسب التصميم. إن عملية التحقق الخاصة بنا ليست سوى فحص سلامة ، لأن kubelet يتجاهل أيضًا العنوان في واجهة المضيف التي ليست أحادية الإرسال العام:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L305 -L308
يتم أيضًا تجاوز الاسترجاع:
https://github.com/kubernetes/kubernetes/blob/master/staging/src/k8s.io/apimachinery/pkg/util/net/interface.go#L408
لذا فإن تمكين عناوين الارتباط المحلية يمكن أن يكون مشكلة في معظم حالات الاستخدام. لقد قمنا بالتعطيل عن قصد بسبب اثنين من حالات الفشل الأخرى ، وحالة الاستخدام هذه غير قياسية IMO.
نظرًا لعدم وجود مبرر ، والاتفاق العام على أن هذا يمكن أن يكون أكثر إشكالية بالنسبة لمعظم المستخدمين ، فإننا نغلق أبوابنا.
إذا كان من الممكن تبسيط حالة الاستخدام الخاصة بك أو تعميمها أو تصحيحها بسهولة ، فلا تتردد في إعادة فتحها.
التعليق الأكثر فائدة
لذا فإن تمكين عناوين الارتباط المحلية يمكن أن يكون مشكلة في معظم حالات الاستخدام. لقد قمنا بالتعطيل عن قصد بسبب اثنين من حالات الفشل الأخرى ، وحالة الاستخدام هذه غير قياسية IMO.