controllerManagerExtraArgs, node-cidr-mask-size
INFORME DE ERROR
versión kubeadm (use kubeadm version
): v1.9.3
Medio ambiente :
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 Mié 6 de diciembre 04:27:34 UTC 2017 x86_64 Intel (R) Xeon (R) CPU E3-1505M v5 @ 2.80GHz GenuineIntel GNU / LinuxEstaba especificando node-cidr-mask-size
en un archivo de configuración de kubeadm en controllerManagerExtraArgs
para establecer la bandera. kube-controller-manager se inició con 2 instancias de --node-cidr-mask-size
se le pasaron. La segunda instancia fue la predeterminada que agrega kubeadm y anuló el valor que estaba intentando establecer.
kube-controller-manager debería haberse iniciado con una instancia de --node-cidr-mask-size
o al menos la que especifiqué sería la segunda para que tuviera prioridad.
kubeadm init --config=myconfig.yaml
con lo siguiente como contenido del archivo 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"
Este fue un problema para mí al intentar usar kubeadm para configurar un clúster IPv6 y especificar una podSubnet.
todavía presente en 1.9.6.
Realmente debería ser solo una opción bajo la clave networking
, actualmente solo coloca --node-cidr-mask-size
en la configuración dos veces, al principio y al final
@tmjd Lo networking.podSubnet
a controllerManagerExtraArgs.cluster-cidr
y agregando allocate-node-cidrs
también, tal como lo hubiera hecho el código kubeadm si podSubnet
hubiera sido especificado directamente.
Modificando su ejemplo original, se convierte en:
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"
Esta solución es esencialmente eludir la declaración if
kubeadm aquí:
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
No parece que kubeadm use podSubnet
para otra cosa que no sea la validación, pero podría estar equivocado.
Sin embargo, todavía preferiría poder anular el tamaño de la máscara cidr del nodo de una manera más compatible.
@tmjd Fix debería aterrizar en la próxima versión de kubeadm del maestro.
¿Cuál es el estado de esto?
Actualmente estoy configurando un clúster de Kubernetes con:
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"}
El problema sigue ocurriendo aquí.
Comentario más útil
@tmjd Lo
networking.podSubnet
acontrollerManagerExtraArgs.cluster-cidr
y agregandoallocate-node-cidrs
también, tal como lo hubiera hecho el código kubeadm sipodSubnet
hubiera sido especificado directamente.Modificando su ejemplo original, se convierte en:
Esta solución es esencialmente eludir la declaración
if
kubeadm aquí:https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
No parece que kubeadm use
podSubnet
para otra cosa que no sea la validación, pero podría estar equivocado.Sin embargo, todavía preferiría poder anular el tamaño de la máscara cidr del nodo de una manera más compatible.