
구성 관리 및 중앙 집중식 관리에 Ansible을 활용하려고 합니다.
제가 관심을 갖고 있는 모든 머신은 실제로 Ansible을 실행할 호스트의 컨테이너입니다.
현재 저는 다양한 호스트를 그룹화하고 각 그룹과 호스트에서 특정 호스트 변수를 사용할 수 있도록 하는 동적 인벤토리 스크립트를 작성 중입니다.
인벤토리 정보를 사용하여 로컬 작업을 실행하는 방법은 무엇입니까?
예:foo
동적 매니페스트가 IP 주소, cgroup 제한 사항 등과 같은 특정 항목을 정의하는 컨테이너가 있습니다. 게스트 컨테이너가 호스트에서 컨테이너 구성을 생성하기 위해(일반 Jinja2 템플릿 사용) 시작되기 전에 이 정보를 어떻게 재사용할 수 있나요?
답변1
내가 올바르게 이해했다면 일반 호스트에 대해 정의된 일부 ansible 변수에 액세스해야 합니다. hostvars
호스트 이름을 기본 키로 사용하여 사전을 통해 모든 호스트 변수에 액세스할 수 있습니다. 예를 들면 다음과 같습니다.
{{ hostvars['foo']['ipv4']['address'] }}
크레딧은 다음으로 이전됩니다.