我正在嘗試將主機名設置爲服務器的完整DNS名稱,但如果我包含句號,它似乎會從最後切斷。如何在Openstack Heat模板中擁有完整的主機名?
這是我如何設置主機名:
properties:
name: sample-name.domain.com
然而,這給sample-name
主機名。全名在Instances列表中正確顯示。
我正在嘗試將主機名設置爲服務器的完整DNS名稱,但如果我包含句號,它似乎會從最後切斷。如何在Openstack Heat模板中擁有完整的主機名?
這是我如何設置主機名:
properties:
name: sample-name.domain.com
然而,這給sample-name
主機名。全名在Instances列表中正確顯示。
我查看了/var/log/cloud-init.log文件,發現主機名設置爲「sample-name」,而不管您是將名稱設置爲「sample-name.domain.com」,還是將其設置爲「sample-name.domain.com」 「屬性中的」sample-name「。
所以,我們可以在如下熱模板使用 「USER_DATA」 設置主機名:
user_data:
#!/bin/bash
sudo bash -c "echo 'sample-name.domain.com' > /etc/hostname"
sudo bash -c "hostname sample-name.domain.com"
這是我使用的整體解決方案的基礎上,@ Tejaswi的:
user_data:
#!/bin/bash -v
sudo echo "127.0.0.1 sample-name.domain.com" >> /etc/hosts
sudo hostname sample-name.domain.com
sudo echo sample-name.domain.com > /etc/hostname
sudo sed -i 's/preserve_hostname: false/preserve_hostname: true/g' /etc/cloud/cloud.cfg
我有還更新了/etc/hosts
文件,並啓用了preserve_hostname
cloud-init屬性,以便在每次重新啓動時不重置。