Description
/kind bug
What happened:
Given a kubelet configured with --cloud-provider=aws
, --hostname-override=ldm-0110069
and --register-node=true
, the kubelet still tries to register with the api server as the "aws-specified" hostname (for example ip-something.eu-west-1.compute.internal
). This is problematic for custom provisioners if the configured node cert doesn't include the "aws-format" node name, as kube-apiserver won't allow the node to register. In general there's very little information in the docs about what the "cloud-provider" flag actually does, but IMHO it's pretty clear that the "hostname-override" flag should "win" (especially since that flag is explicitly documented while the cloud-provider flag isnt).
What you expected to happen:
Kubelet should register with the configured value of --hostname-override
.
How to reproduce it (as minimally and precisely as possible):
Configure a kubelet on an aws instance with the flags listed above. In order to verify that this indeed caused by the cloud-provider flag, remove that flag from the kublet parameter and restart the kubelet service/pod. The kubelet is now able to register to the api with the name specified in hostname-override
Anything else we need to know?:
Environment:
- Kubernetes version (use
kubectl version
): 1.10.2 - Cloud provider or hardware configuration: aws
- OS (e.g. from /etc/os-release): ubuntu 16.04
- Kernel (e.g.
uname -a
): - Install tools: custom
- Others:
Activity