@@ -31,6 +31,47 @@ Ansible에서 **Node에 대한 정보를 변수로 수집하는 정보**를 말
tasks:
```
Facts 변수는 다음의 스크립트를 통해 간단하게 수집할 수 있다.
```bash
#!/bin/bash
host=""
if[["$1"=""]];then
host="현재 디렉토리의 hosts 파일에 호스트를 입력하십시오!"
echo$host
exit;
else
host=$1
fi
ansible -i hosts $1-m setup
```
단, 단일 시스템에 대한 수집을 기준으로 한다.
!참고 : 만약 다음과 같은 에러가 발생되면서 Playbook의 실행이 안될 경우
```plaintext
호스트명 | FAILED! => {
"msg": "Using a SSH password instead of a key is not possible because Host Key checking is enabled and sshpass does not support this. Please add this host's fingerprint to your known_hosts file to manage this host."
}
```
이는 최초 접속 시에 대부분 발생되면, 근본원인 원인은 ssh의 공개키 교환이 안됐기 때문이다. 따라서 다음과 같이 설정하면 된다.
-**전역 설정** : /etc/ansible/ansible.cfg
- 지역 설정 : ./ansible.cfg
- 설정 내역 :
```python
[defaults]
host_key_checking=False
```
## 멱등성(idempotent)이란 ?
**연산 수행을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 멱등성** 이라고 한다.