5.3. 플레이북 실행 작업
플레이북이 실행되면 결과가 출력 탭에 표시됩니다. 사용하는 경우 Ansible CLI에 동일한 정보가 표시됩니다. 이는 디버깅에 유용할 수 있습니다.
이벤트 요약에는 이 플레이북의 일부로 실행되는 다음 이벤트가 표시됩니다.
- 이 플레이북이 실행된 횟수가 Plays 필드에 표시됩니다.
- 이 플레이북과 관련된 작업 수는 Task 필드에 표시됩니다.
- 이 플레이북과 관련된 호스트 수는 Hosts 필드에 표시됩니다.
- 플레이북 실행을 완료하는 데 걸린 시간이 Elapsed 필드에 표시됩니다.
작업을
출력을 하거나, 작업을 삭제할 수 있습니다.출력 보기에서 호스트 상태 표시줄 섹션 위로 마우스를 가져가면 해당 상태와 연결된 호스트 수가 표시됩니다.
플레이북 작업의 출력은 작업 템플릿 페이지의 작업 탭에서 작업을 시작한 후에도 사용할 수 있습니다. 출력에서 행 항목 작업을 클릭하여 호스트 세부 정보를 확인합니다.
5.3.1. 검색
검색을 사용하여 특정 이벤트, 호스트 이름 및 해당 상태를 조회합니다. 특정 상태의 특정 호스트만 필터링하려면 다음의 유효한 상태 중 하나를 지정합니다.
- OK
- 작업이 성공적으로 완료되었지만 호스트에서 변경 사항이 실행되지 않았음을 나타냅니다.
- changed
- 플레이북 작업이 실행되었습니다. Ansible 작업은 멱등이 되도록 작성되어야 하므로 호스트에서 아무것도 실행하지 않고도 작업을 성공적으로 종료할 수 있습니다. 이 경우 작업은 ok 를 반환하지만 변경 되지는 않습니다.
- failed
- 작업이 실패했습니다. 이 호스트에 대해 추가 플레이북 실행이 중지되었습니다.
- 연결할 수 없음
- 호스트는 네트워크에서 연결할 수 없거나 복구할 수 없는 다른 오류가 연결되어 있습니다.
- 건너뛴
- 호스트가 대상 상태에 도달하는 데 필요한 변경 사항이 없기 때문에 플레이북 작업을 건너뜁니다.
- rescued
- 여기에는 실패한 작업이 표시된 다음 rescue 섹션을 실행합니다.
- 무시됨
-
여기에는 실패한 작업이 표시되고
ignore_errors: yes가 구성된
작업이 표시됩니다.
다음 예제에서는 연결할 수 없는 호스트만 있는 검색을 보여줍니다.
검색 사용법에 대한 자세한 내용은 검색 섹션을 참조하십시오.
표준 출력 뷰에는 특정 작업에서 발생하는 이벤트가 표시됩니다. 기본적으로 모든 행이 확장되므로 세부 정보가 표시됩니다.By default, all rows are expanded so that the details are displayed. 플레이 및 작업의 헤더만 포함된 뷰로 전환하려면 접기( ) 아이콘을 사용합니다. 표준 출력의 모든 행을 보려면 더하기( ) 아이콘을 클릭합니다.
특정 플레이 또는 작업 옆에 있는 화살표 아이콘을 클릭하여 모든 세부 정보를 표시할 수 있습니다. 화살표를 클릭하여 옆쪽 화살표가 아래쪽을 향하면 해당 플레이 또는 작업과 연결된 행이 펼쳐집니다. 화살표를 다시 클릭하여 옆쪽을 향하면 해당 행이 접히고 숨겨집니다.
확장 또는 축소 모드에서 세부 정보를 보는 경우 다음 사항에 유의하십시오.
- 접히지 않고 표시되는 각 행에는 해당 행 번호와 시작 시간이 있습니다.
- 확장 또는 축소 아이콘은 플레이 또는 작업이 완료된 후 플레이 또는 작업의 시작 부분에 있습니다.
- 특정 플레이 또는 작업을 쿼리하는 경우 완료된 프로세스의 끝에 접혀 표시됩니다.
- 경우에 따라 출력이 너무 커서 표시할 수 없다는 오류 메시지가 표시됩니다. 이러한 오류는 이벤트가 4000개를 초과할 때 발생합니다. 특정 이벤트에서 오류를 바이패스하려면 검색 및 필터링을 사용합니다.
Stdout 창에서 이벤트 행을 클릭하면 Host Events 창이 별도의 창에 표시됩니다. 이 창에는 특정 이벤트의 영향을 받는 호스트가 표시됩니다.
Ansible Automation Platform의 최신 버전으로 업그레이드하려면 모든 기록 플레이북 출력 및 이벤트를 점진적으로 마이그레이션해야 합니다. 이 마이그레이션 프로세스는 점진적이며 설치가 완료된 후 백그라운드에서 자동으로 수행됩니다. 매우 많은 양의 기록 작업 출력(일반적으로 또는 수백GB의 출력)이 있는 설치는 마이그레이션이 완료될 때까지 작업 출력이 누락될 수 있습니다. 가장 최근 데이터가 출력 맨 위에 표시되고 이전 이벤트가 표시됩니다.
5.3.2. 플레이북 실행 세부 정보
세부 정보 탭에 액세스하여 작업 실행에 대한 세부 정보를 확인합니다.
실행된 작업에 대한 다음 세부 정보를 볼 수 있습니다.
status: 다음 중 하나일 수 있습니다.
- 보류 중: 플레이북 실행이 생성되었지만 아직 대기열에 추가되거나 시작되지 않았습니다. 플레이북 실행뿐만 아니라 모든 작업은 시스템에서 실행할 준비가 될 때까지 보류 중 상태로 유지됩니다. 플레이북 실행이 준비되지 않은 이유는 현재 실행 중인 종속 항목이 있거나(다음 단계를 실행하려면 모든 종속 항목을 완료해야 함) 구성된 위치에서 실행하는 데 필요한 용량이 충분하지 않기 때문입니다.
- waiting: 플레이북 실행이 대기열에 있으며 실행 대기 중입니다.
- running: 플레이북 실행이 현재 진행 중입니다.
- 성공: 마지막 플레이북 실행에 성공했습니다.
- failed: 마지막 플레이북 실행에 실패했습니다.
- 작업 템플릿: 이 작업이 시작된 작업 템플릿의 이름입니다.
- inventory: 이 작업을 실행하도록 선택한 인벤토리입니다.
- project: 시작된 작업과 연결된 프로젝트의 이름입니다.
- Project Status: 시작된 작업과 관련된 프로젝트의 상태입니다.
- playbook: 이 작업을 시작하는 데 사용되는 플레이북입니다.
- execution environment : 이 작업에 사용된 실행 환경의 이름입니다.
- 컨테이너 그룹: 이 작업에 사용된 컨테이너 그룹의 이름입니다.
- credentials: 이 작업에 사용되는 인증 정보입니다.
- 추가 변수: 작업 템플릿을 생성할 때 전달된 모든 추가 변수가 여기에 표시됩니다.
이러한 항목 중 하나를 선택하여 해당 작업 템플릿, 프로젝트 및 기타 오브젝트를 확인합니다.
5.3.3. 플레이북 액세스 및 정보 공유
자동화 컨트롤러에서 자동화 실행 환경 및 Linux 컨테이너를 사용하면 플레이북에서 프로젝트 디렉터리 외부의 파일을 읽지 못합니다.
기본적으로 컨테이너 내부의 ansible-playbook 프로세스에 노출되는 데이터는 현재 사용 중인 프로젝트뿐입니다.
작업 설정에서 이를 사용자 지정하고 호스트에서 컨테이너에 추가 디렉터리를 노출할 수 있습니다.
5.3.4. 격리 기능 및 변수
자동화 컨트롤러는 컨테이너 기술을 사용하여 작업을 서로 분리합니다. 기본적으로 현재 프로젝트만 작업 템플릿을 실행하는 컨테이너에 노출됩니다.
추가 디렉터리를 노출해야 하는 경우 플레이북 실행을 사용자 지정해야 합니다. 작업 격리를 구성하려면 변수를 설정할 수 있습니다.
기본적으로 자동화 컨트롤러는 시스템의 tmp
디렉토리(기본적으로/tmp
)를 스테이징 영역으로 사용합니다. 작업 설정 페이지의 작업 실행 경로 필드 또는 /api/v2/settings
/jobs 의 REST API에서 변경할 수 있습니다.
AWX_ISOLATION_BASE_PATH = "/opt/tmp"
구체적으로 호스트에서 플레이북이 실행되는 컨테이너로 노출되어야 하는 추가 디렉터리가 있는 경우 작업 설정 페이지의 분리된 작업 필드에 노출할 경로 또는 /api/v2/settings/jobs
의 REST API에서 지정할 수 있습니다.
AWX_ISOLATION_SHOW_PATHS = ['/list/of/', '/paths']
플레이북에서 AWX_ISOLATION_SHOW_PATHS
에 정의된 키 또는 설정을 사용해야 하는 경우 이 파일을 /var/lib/awx/.ssh
에 추가합니다.
여기에서 설명하는 필드는 작업 설정 페이지에서 확인할 수 있습니다.