說我是路過的主機名到Ansible劇本,像這樣:如何獲得主機的IP地址作爲extra-vars在Ansible中傳遞?
ansible-playbook ansible/db-playbook.yml --extra-vars "master=mydb-master, slave=mydb-slave"
在劇本我要訪問的mydb-slave
主機的實際IP地址:
- name: Copy ssh key to Slave
command: ... "{{ mydb-slave }}"
在這種情況下,輸出是字符串字面值mydb-slave
,但我需要完整的ip
地址。
你能否提供更多的上下文?您將字符串文字(推測爲主機名)轉換爲IP所做的任何操作都將是DNS查找或搜索本地/ etc/hosts或類似的東西。由於你的任務名稱被標記爲「將ssh密鑰複製到奴隸」,爲什麼不編寫一個可靠的複製/ rsync /任何內容並讓它正常解析IP? –
「完整的IP地址」是什麼意思?什麼實體應該解析名稱? – techraf
對於上下文,在'hosts'文件中我有'[mydb-slave] 123.456.78.91'。我想使用'--extra-vars'參數傳入'mydb-slave' var,但我不想在主頁中對主機進行硬編碼。基本上我只想從劇本中的'mydb-slave' var獲得ip'123.456.78.91'。 –