【发布时间】:2021-10-20 10:52:36
【问题描述】:
情况如下:我们正在使用 ansible 对 GCP 中新部署的虚拟机进行大量更改。其中一项更改是更新主机名。
GCP 要求主机名中的第一个字符必须是字母。所以,假设我们在 GCP 中的主机名是 PC1000-blah-blah。使用 Ansible,我想动态提取该主机名 (PC1000-blah-blah) 并将其更改为 1000-blah-blah,删除“PC”。
现在,我可以使用 ansible.windows.win_hostname 插件逐个 VM 执行此操作:https://docs.ansible.com/ansible/latest/collections/ansible/windows/win_hostname_module.html
但我无法弄清楚如何针对一组 VM 运行我的剧本,它足够聪明,可以查看当前主机名(使用 PC)并在每个 VM 上删除 PC。
感谢任何帮助!
【问题讨论】:
-
你的策略会失败。即使 Ansible 将主机名更改为 1000-blah-blah,您也会破坏 DNS,并导致 DHCP 错误。 VM 主机名必须符合 RFC 1035。此正则表达式定义允许的主机名:[a-z]([-a-z0-9]*[a-z0-9])?.
标签: windows google-cloud-platform ansible hostname