Ansible은 인벤토리에서 호스트를 찾을 수 없습니다.

Ansible은 인벤토리에서 호스트를 찾을 수 없습니다.

이전 작업 세트를 사용하여 구성한 후 선택한 호스트에서 플레이북을 실행하려고 합니다.

호스트에 ping을 실행할 수 있고 /etc/ansible/hosts동일한 콘텐츠가 파일에 있지만 재생이 표시되지만 skipping: no hosts matched실행되지 않습니다.

Ansible 호스트 파일은 다음과 같습니다.

vm1  ansible_host=192.168.200.52

-i를 사용하여 인벤토리 파일을 언급했지만 성공하지 못했습니다. 여기서 무엇이 잘못되었을 수 있습니까?

고쳐 쓰다: /etc/ansible/hosts기본 매니페스트를 추가했지만 플레이북에 여전히 VM을 볼 수 없다고 표시됩니다.

스크린샷

답변1

Ansible 호스트 파일은 다음과 같습니다.

vm1  ansible_host=192.168.200.52

묻다:"-i를 사용하여 인벤토리 파일을 언급하려고 시도했지만 성공하지 못했습니다. 여기서 무엇이 잘못되었을 수 있습니까?"

답변: 문제가 무엇인지 확인하려면 다음 명령을 실행하십시오.

$ ansible-inventory -i hosts --list

출력은 다음과 같아야합니다

{
    "_meta": {
        "hostvars": {
            "vm1": {
                "ansible_host": "192.168.200.52"
            }
        }
    }, 
    "all": {
        "children": [
            "ungrouped"
        ]
    }, 
    "ungrouped": {
        "hosts": [
            "vm1"
        ]
    }
}

간단한 스크립트

- hosts: vm1
  gather_facts: false
  tasks:
    - debug:
        var: ansible_host

주어야 한다

$ ansible-playbook -i hosts playbook.yml
...
ok: [vm1] => {
    "ansible_host": "192.168.200.52"

관련 정보