Rumah  >  Soal Jawab  >  teks badan

python - masalah dengan ansible mendapatkan ip

Hello semua, udang!

Abang saya menghadapi masalah, iaitu, dia perlu menyesuaikan zk kira-kira 100 mesin Pada masa ini, zk ip baru telah ditulis pada mesin kawalan ansible, dan rancangannya adalah untuk mengedarkan fail zk ip baru ini kepada. 100 mesin tersebut, dan kemudian tambahkan IP dan nama hos masing-masing pada fail 100 mesin ini.

Jadi saya menulis ansible-playbook:

---

- hosts: all
  tasks:
        - name: 将原有的hosts文件备份
          shell: mv /etc/hosts /etc/hosts_bak

        - name: 将ansible端的hosts复制到各自机器上
          copy: src=/root/hosts dest=/etc/ owner=root group=root mode=0544

        - name: 在新的hosts文件后面追加各自机器内网ip和hostname
          lineinfile: dest=/etc/hosts line="{{ansible_all_ipv4_addresses}}  {{ansible_hostname}}"

Tetapi selepas menulis dan melaksanakannya, kesannya adalah seperti ini:

Dan apa yang saya mahukan ialah kesan ini:

Apa yang perlu saya lakukan?

仅有的幸福仅有的幸福2711 hari yang lalu641

membalas semua(1)saya akan balas

  • 漂亮男人

    漂亮男人2017-05-18 10:58:00

    Masalah telah selesai, gunakan IP: "{{ ansible_eth0'ipv4' }}" dan bukannya {{ansible_all_ipv4_addresses}}

    Buku main yang diubah suai adalah seperti berikut:

    ---
    
    - hosts: all
      vars:
            IP: "{{ ansible_eth0['ipv4']['address'] }}"
      tasks:
            - name: 将原有的hosts文件备份
              shell: mv /etc/hosts /etc/hosts_bak
    
            - name: 将ansible端的hosts复制到各自机器上
              copy: src=/root/hosts dest=/etc/ owner=root group=root mode=0644
    
            - name: 在新的hosts文件后面追加各自机器内网ip和hostname
              lineinfile: dest=/etc/hosts line="{{IP}}  {{ansible_hostname}}"
    

    balas
    0
  • Batalbalas