kubernetes-sigs / kubespray

Deploy a Production Ready Kubernetes Cluster
Apache License 2.0
16.21k stars 6.49k forks source link

Kubespray changing dhcp hostname options #11672

Closed tobi97h closed 3 weeks ago

tobi97h commented 4 weeks ago

What happened?

after setting up a vm with kubespray, my existing dhcp settings are overwritten somehow and the vm nolonger sends the full fqdn to my dhcp server. this in turn messes with my ddns.

initially i use systemd-networkd configuration to add the full hostname in the [DHCP] section. but after the installation from kubespray, even though systemd-networkd still reports to be using the same config file, is no longer sending the full fqdn but only the shortname of my machine.

What did you expect to happen?

network configuration, especially dhcp to be left untouched.

How can we reproduce it (as minimally and precisely as possible)?

[Match]
Name={{ ansible_default_ipv4.interface }}

[Network]
DHCP=ipv4

[DHCP]
SendHostname=yes
Hostname={{ ansible_fqdn }}

setup a networkd config file in /etc/systemd/network/iface.network, watch it report the full fqdn to dhcp, install kubespray and see it only reporting the shortname.

OS

debian 12

Version of Ansible

ansible [core 2.16.11] config file = None configured module search path = ['/home/tobi/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules'] ansible python module location = /home/tobi/Documents/th-pve/.venv/lib/python3.12/site-packages/ansible ansible collection location = /home/tobi/.ansible/collections:/usr/share/ansible/collections executable location = /home/tobi/Documents/th-pve/.venv/bin/ansible python version = 3.12.6 (main, Sep 6 2024, 19:03:47) [GCC 11.4.0] (/home/tobi/Documents/th-pve/.venv/bin/python3.12) jinja version = 3.1.4 libyaml = True

Version of Python

3.12.6

Version of Kubespray (commit)

v2.25.0

Network plugin used

calico

Full inventory with variables

i have a custom inventory plugin, this would not be of any use.

Command used to invoke ansible

ansible-playbook -i kubespray-inv.yaml --become --become-user=root kubernetes_sigs.kubespray.cluster

Output of ansible run

kubespray installs sucessfully

Anything else we need to know

No response