kubernetes: kubeadm init --config breaks defaults

Is this a request for help? (If yes, you should use our troubleshooting guide and community support channels, see http://kubernetes.io/docs/troubleshooting/.): No

What keywords did you search in Kubernetes issues before filing this one? (If you have found any duplicates, you should instead reply there.): kubeadm defaults


Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG REPORT

Kubernetes version (use kubectl version): v1.4.3

Environment:

  • Cloud provider or hardware configuration: N/A
  • OS (e.g. from /etc/os-release): N/A
  • Kernel (e.g. uname -a): N/A
  • Install tools: kubeadm
  • Others: N/A

What happened: Using kubeadm init --config /path/to/config.yml appears to block default values from being set. I first noticed it where a pre-flight check of the Servicer CIDR was presenting itself as an empty string although I had not set it through the command line flag nor in the config file. I also noticed that kubelet requests to the API server were being sent to port 0 as the API server default port had not been set.

What you expected to happen: A config file should only override defaults, not make it so that no defaults are set.

How to reproduce it (as minimally and precisely as possible): Use kubeadm init --config /path/to/config.yml with an appropriate configuration file that does not set the service CIDR, for example, and note that pre-flight checks will fail due to the default values not being set.

Anything else do we need to know: A temporary workaround is to explicitly set all values to their defaults or the value you desire.

About this issue

  • Original URL
  • State: closed
  • Created 8 years ago
  • Comments: 21 (17 by maintainers)

Most upvoted comments

This is fixed now

@superdump I agree. And if it’s not the case here, it should be documented.