連接我有一個ansible host
文件(稱爲my_host_file
)目前的公共IP /主機與此類似:習慣,同時通過SSH與ansible
[my_group_name]
MY_PUBLIC_IP_FOR_VM_XYZ
然後我試圖在YAML劇本的幾個不同的方法(所謂my_playbook.yml
)與此類似:
---
- hosts: my_group_name
sudo: yes
tasks:
- debug: var=hostvars
- setup:
register: allfacts
- debug: var=allfacts
- debug: var=ansible_default_ipv4.address
- debug: var=ansible_hostname
- command: bash -c "dig +short myip.opendns.com @resolver1.opendns.com"
register: my_public_ip_as_ansible_var
我運行的一切是這樣的:ansible-playbook -v -i my_host_file my_playbook.yml
我禾喜歡在my_host_file
文件(MY_PUBLIC_IP_FOR_VM_XYZ
)在運行時以不同於使用命令與opendns
結合的方式獲取公共IP地址,然後將其存儲到變量my_public_ip_as_ansible_var
中。
畢竟,這已被用於ansible本身建立SSH會話,因此它可能保存在某個地方。
我無法找到此信息之一:在hostvars
- (其實在這裏我可以在這裏找到,但我也可以看到所有的其他主機,所以我沒有辦法識別當前的SSH從主機組)會議
- 的
allfacts
(使用setup: [...]
)變量(只在私網IP地址,其中有關VM很多有用的信息,如磁盤大小,網絡,操作系統內核版本等) - 在
ansible_default_ipv4.address
(這是私網IP) - 在
ansible_hostname
(這是主機名,而不是公網IP我在my_host_file
使用)
有沒有獲得SSH會話過程中使用的主機的清潔方式/更ansible十歲上下的方式,來自my_host_file
?
這是基礎設施作爲代碼,當前在git存儲庫中版本化,就像任何其他源代碼一樣。同樣在這個特定的問題中,我定義了變量併爲它們賦值。如果這個問題不在話下,那麼我被允許使用的標籤的組合需要由誰來管理這個電路板以更有效的方式進行管理。 – TPPZ