6.16. 사실 캐싱
자동화 컨트롤러는 Ansible 팩트 캐시 플러그인을 통해 호스트별로 사실을 저장하고 검색할 수 있습니다. 이 동작은 작업별 템플릿을 기반으로 구성할 수 있습니다. 팩트 캐싱은 기본적으로 꺼져 있지만 실행 중인 작업과 관련된 인벤토리의 모든 호스트에 대한 사실 요청을 처리하기 위해 활성화할 수 있습니다. 이를 통해 호스트 팩트의 전체 인벤토리에 계속 액세스하는 동안 --limit
와 함께 작업 템플릿을 사용할 수 있습니다. 플러그인이 탐색 패널에서 호스트별로 강제 적용하는 글로벌 시간 초과 설정을 지정하고(초) 탐색 패널에서
팩트 캐시를 사용하는 작업(use_fact_cache=True
)을 시작한 후 각 호스트의 ansible_facts
는 모두 컨트롤러의 작업 인벤토리에 저장됩니다.
자동화 컨트롤러가 포함된 Ansible 사실 캐시 플러그인은 팩트 캐시가 활성화된 작업에서 활성화됩니다(use_fact_cache=True
).
팩트 캐시가 활성화된 작업(use_fact_cache=True
)이 실행된 경우 자동화 컨트롤러는 인벤토리의 호스트에 대한 모든 레코드를 복원합니다. 호스트당 현재 저장된 팩트보다 최신 업데이트 시간이 있는 모든 레코드는 데이터베이스에서 업데이트됩니다.
신규 및 변경된 사실은 자동화 컨트롤러의 로깅 기능을 통해 기록됩니다. 특히 system_tracking 네임스페이스
또는 로거에 대해 다음을 수행합니다. 로깅 페이로드에는 다음 필드가 포함됩니다.
-
host_name
-
inventory_id
-
ansible_facts
Ansible 사실은
자동화 컨트롤러 인벤토리 inventory, inventory_id
의 host_name
에 대한 모든 Ansible 사실로 이루어진 사전입니다.
호스트 이름에 슬래시(/)가 포함된 경우 해당 호스트에서 팩트 캐시가 작동하지 않습니다. 인벤토리에 100개의 호스트가 있고 하나의 호스트에 / 이름이 있는 경우 나머지 99개의 호스트는 여전히 팩트를 수집합니다.