controllerManagerExtraArgs, размер-маски-узла-cidr
СООБЩЕНИЕ ОБ ОШИБКЕ
версия kubeadm (используйте kubeadm version
): v1.9.3
Окружающая среда :
kubectl version
): v1.9.3
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
или, по крайней мере, тот, который я указал, будет вторым, чтобы он имел приоритет.
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"
Это было проблемой для меня, когда я пытался использовать kubeadm для настройки кластера IPv6 и указания podSubnet.
все еще присутствует в 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"}
Проблема все еще возникает здесь.
Самый полезный комментарий
@tmjd Я работал над этим, переместив
networking.podSubnet
вcontrollerManagerExtraArgs.cluster-cidr
и добавивallocate-node-cidrs
тоже, как это сделал бы код kubeadm, если быpodSubnet
был указано прямо.Изменяя ваш исходный пример, он становится:
Этот обходной путь, по сути, обходит инструкцию kubeadm
if
здесь:https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
Не похоже, что kubeadm использует
podSubnet
для чего-то еще, кроме проверки, но я могу ошибаться.Тем не менее, все же предпочел бы иметь возможность переопределить размер маски cidr узла более поддерживаемым способом.