Kubeadm: указание node-cidr-mask-size в качестве аргумента controllerManagerExtra не имело приоритета

Созданный на 7 мар. 2018  ·  4Комментарии  ·  Источник: kubernetes/kubeadm

Какие ключевые слова вы искали в выпусках kubeadm перед тем, как подать этот запрос?

controllerManagerExtraArgs, размер-маски-узла-cidr

Это ОТЧЕТ ОБ ОШИБКЕ или ЗАПРОС О ФУНКЦИОНИРОВАНИИ?

СООБЩЕНИЕ ОБ ОШИБКЕ

Версии

версия 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"
  • Ядро (например, uname -a ): Linux k8s-master 4.13.16-coreos-r2 # 1 SMP среда, 6 декабря 04:27:34 UTC 2017 x86_64 Intel (R) Xeon (R) CPU E3-1505M v5 @ Подлинная Intel GNU / Linux с тактовой частотой 2,80 ГГц
  • Другие :

Что случилось?

Я указывал node-cidr-mask-size в файле конфигурации kubeadm в разделе controllerManagerExtraArgs чтобы установить флаг. kube-controller-manager был запущен с передачей 2 экземпляров --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 , в настоящее время он просто помещает --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 должно

Каков статус по этому поводу?
В настоящее время я настраиваю кластер 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 рейтинги