controllerManagerExtraArgs, node-cidr-mask-size
RAPPORT D'ERREUR
version de kubeadm (utilisez kubeadm version
): v1.9.3
Environnement :
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 Mer 6 décembre 04:27:34 UTC 2017 x86_64 Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz Authentique Intel GNU/LinuxJe spécifiais node-cidr-mask-size
dans un fichier de configuration kubeadm sous controllerManagerExtraArgs
pour définir le drapeau. kube-controller-manager a été démarré avec 2 instances de --node-cidr-mask-size
été transmises. La 2ème instance était la valeur par défaut ajoutée par kubeadm et supplantait la valeur que j'essayais de définir.
kube-controller-manager aurait dû être démarré avec une instance de --node-cidr-mask-size
ou au moins celle que j'ai spécifiée serait la 2e pour qu'elle ait la priorité.
kubeadm init --config=myconfig.yaml
avec ce qui suit comme contenu du fichier 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"
C'était un problème pour moi lorsque j'essayais d'utiliser kubeadm pour configurer un cluster IPv6 et spécifier un podSubnet.
toujours présent en 1.9.6.
Cela devrait vraiment être juste une option sous la clé networking
, actuellement il met juste --node-cidr-mask-size
dans la configuration deux fois, au début et à la fin
@tmjd J'ai contourné cela en déplaçant le networking.podSubnet
vers controllerManagerExtraArgs.cluster-cidr
et en ajoutant aussi allocate-node-cidrs
, tout comme le code kubeadm l'aurait fait si podSubnet
avait été spécifié directement.
En modifiant votre exemple d'origine, cela devient :
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"
Cette solution de contournement contourne essentiellement la déclaration if
kubeadm ici :
https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
Il ne semble pas que kubeadm utilise le podSubnet
pour autre chose que la validation, mais je peux me tromper.
Je préférerais toujours pouvoir remplacer la taille du masque cidr du nœud d'une manière plus prise en charge.
@tmjd Fix devrait atterrir dans la prochaine version de kubeadm de master.
Quel est le statut à ce sujet ?
Je suis actuellement en train de configurer un cluster Kubernetes avec :
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"}
Le problème se produit toujours ici.
Commentaire le plus utile
@tmjd J'ai contourné cela en déplaçant le
networking.podSubnet
verscontrollerManagerExtraArgs.cluster-cidr
et en ajoutant aussiallocate-node-cidrs
, tout comme le code kubeadm l'aurait fait sipodSubnet
avait été spécifié directement.En modifiant votre exemple d'origine, cela devient :
Cette solution de contournement contourne essentiellement la déclaration
if
kubeadm ici :https://github.com/kubernetes/kubernetes/blob/86a58202b68d04b2e31b56db80b4d2a4dec77c93/cmd/kubeadm/app/phases/controlplane/manifests.go#L336 -L342
Il ne semble pas que kubeadm utilise le
podSubnet
pour autre chose que la validation, mais je peux me tromper.Je préférerais toujours pouvoir remplacer la taille du masque cidr du nœud d'une manière plus prise en charge.