Kubeadm: تحديد حجم العقدة-cidr-mask-size كوحدة تحكم ManagerExtra arg لم يكن له الأسبقية

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

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

ControllerManagerExtraArgs ، node-cidr-mask-size

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

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

إصدارات

إصدار kubeadm (استخدم kubeadm version ): v1.9.3

البيئة :

  • إصدار Kubernetes (استخدم kubectl version ): v1.9.3
  • مزود السحابة أو تكوين الأجهزة : VirtualBox
  • نظام التشغيل (على سبيل المثال من / etc / os-release):
    NAME="Container Linux by CoreOS" ID=coreos VERSION=1576.4.0 VERSION_ID=1576.4.0 BUILD_ID=2017-12-06-0449 PRETTY_NAME="Container Linux by CoreOS 1576.4.0 (Ladybug)" ANSI_COLOR="38;5;75" HOME_URL="https://coreos.com/" BUG_REPORT_URL="https://issues.coreos.com" COREOS_BOARD="amd64-usr"
  • Kernel (على سبيل المثال uname -a ): Linux k8s-master 4.13.16-coreos-r2 # 1 SMP الأربعاء 6 ديسمبر 4:27:34 UTC 2017 x86_64 Intel (R) Xeon (R) CPU E3-1505M v5 @ 2.80 جيجاهرتز GenuineIntel GNU / Linux
  • آخرون :

ماذا حدث؟

كنت أحدد node-cidr-mask-size في ملف تكوين kubeadm ضمن controllerManagerExtraArgs لتعيين العلم. بدأ kube-controller-manager مع حالتين من --node-cidr-mask-size تم تمريرها إليه. كان المثيل الثاني هو الافتراضي الذي يضيفه kubeadm ويتجاوز القيمة التي كنت أحاول تعيينها.

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

يجب أن يبدأ kube-controller-manager بمثيل واحد من --node-cidr-mask-size أو على الأقل سيكون المثال الذي حددته هو الثاني بحيث يكون له الأسبقية.

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

  1. قم بتشغيل kubeadm init --config=myconfig.yaml بما يلي كمحتويات الملف myconfig.yaml
    apiVersion: kubeadm.k8s.io/v1alpha1 kind: MasterConfiguration api: advertiseAddress: "fd10::101" networking: serviceSubnet: fd30::0/110 podSubnet: "fd20:0::/120" controllerManagerExtraArgs: node-cidr-mask-size: "120"
  2. تحقق من العلامات التي بدأ بها kube-controller-manager.

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

كانت هذه مشكلة بالنسبة لي عند محاولة استخدام kubeadm لإعداد مجموعة IPv6 وتحديد podSubnet.

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

tmjd لقد عملت على networking.podSubnet إلى controllerManagerExtraArgs.cluster-cidr وإضافة allocate-node-cidrs أيضًا ، تمامًا مثل كود kubeadm إذا كان podSubnet قد تم المحدد مباشرة.

تعديل المثال الأصلي الخاص بك ، يصبح:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:  
  advertiseAddress: "fd10::101"
networking:
  serviceSubnet: fd30::0/110   
  # MOVED BELOW podSubnet: "fd20:0::/120"    
controllerManagerExtraArgs:
  allocate-node-cidrs: "true"
  cluster-cidr: "fd20:0::/120"
  node-cidr-mask-size: "120"

هذا الحل هو في الأساس التحايل على بيان kubeadm if هنا:
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342

لا يبدو أن kubeadm يستخدم podSubnet لأي شيء آخر غير التحقق من الصحة ولكن قد أكون مخطئًا.

لا يزال يفضل أن تكون قادرًا على تجاوز حجم قناع عقدة cidr بطريقة أكثر دعمًا.

ال 4 كومينتر

لا يزال موجودًا في 1.9.6.

يجب أن يكون حقًا مجرد خيار تحت networking key ، حاليًا يضع --node-cidr-mask-size في التكوين مرتين ، في البداية والنهاية

tmjd لقد عملت على networking.podSubnet إلى controllerManagerExtraArgs.cluster-cidr وإضافة allocate-node-cidrs أيضًا ، تمامًا مثل كود kubeadm إذا كان podSubnet قد تم المحدد مباشرة.

تعديل المثال الأصلي الخاص بك ، يصبح:

apiVersion: kubeadm.k8s.io/v1alpha1
kind: MasterConfiguration
api:  
  advertiseAddress: "fd10::101"
networking:
  serviceSubnet: fd30::0/110   
  # MOVED BELOW podSubnet: "fd20:0::/120"    
controllerManagerExtraArgs:
  allocate-node-cidrs: "true"
  cluster-cidr: "fd20:0::/120"
  node-cidr-mask-size: "120"

هذا الحل هو في الأساس التحايل على بيان kubeadm if هنا:
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342

لا يبدو أن kubeadm يستخدم podSubnet لأي شيء آخر غير التحقق من الصحة ولكن قد أكون مخطئًا.

لا يزال يفضل أن تكون قادرًا على تجاوز حجم قناع عقدة cidr بطريقة أكثر دعمًا.

tmjd Fix يجب أن يهبط في إصدار kubeadm التالي من السيد.

ما هو الوضع في هذا؟
أقوم حاليًا بإعداد مجموعة Kubernetes باستخدام:

kubeadm version: &version.Info{Major:"1", Minor:"10", GitVersion:"v1.10.4", GitCommit:"5ca598b4ba5abb89bb773071ce452e33fb66339d", GitTreeState:"clean", BuildDate:"2018-06-06T08:00:59Z", GoVersion:"go1.9.3", Compiler:"gc", Platform:"linux/amd64"}

لا تزال المشكلة تحدث هنا.

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