Ansible
更改多台伺服器的ip地址
我有一組伺服器正在移動到另一個網路。我有一個文件,其中包含主機名和相應的新 IP 地址。我研究瞭如何使用 Ansible 來實現這一點,但這需要每個伺服器都有獨特的劇本。試圖編寫腳本但同樣的問題。
有人可以建議例如。假設您可以以 root 身份登錄,如何從外部伺服器更改 2 台以上伺服器的 IP 地址。
首選 Ansible 劇本。
假設我們有
serverA
,serverB
並且serverC
在我們的庫存中。他們需要新的 IP 地址。所以第一步是在你的
host_vars
目錄中創建一個文件,命名為你的伺服器,並將新的 IP 地址作為變數寫入其中。文件範例
host_vars/serverA
:new_ip: 10.1.0.27
對其相應的地址執行相同的
serverB
操作。serverC
如果需要,您還可以將其擴展到網路介面名稱。接下來,創建一個使用先前定義的變數的劇本。該
ip
命令中顯示的模組不存在,我這裡只是展示變數的使用。如果有適合您需求的模組,請參閱Ansible 文件command
,否則請使用/shell
。- name: Change IP hosts: serverA serverB serverC become: yes tasks: - name: Set new IP adress ip: "{{ new_ip }}" interface: eth0
另外,請準備好與
ansible
. SO的這個問題顯示瞭如何處理它並保持連接執行。