Ansible 기초 · 인벤토리와 애드혹 · 퀴즈
퀴즈: 인벤토리와 애드혹
문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.
`[prod:children]` 섹션에 들어갈 수 있는 것은?
- 호스트와 그룹 모두
- 변수 정의만
- 호스트 이름만
- 그룹 이름만
`all:vars` 에 `ansible_user=root`, `web:vars` 에 `ansible_user=deploy`, 그리고 `web1` 의 호스트 변수로 `ansible_user=admin` 이 있습니다. web1 에 접속할 때 쓰이는 사용자는?
- deploy
- 정의가 충돌해 오류가 난다
- admin
- root
특정 배포에서 web2 만 빼고 실행하려 합니다. 가장 적절한 방법은?
- web2 만 빠진 인벤토리 파일을 따로 만들어 그 파일로 실행한다
- 인벤토리에서 web2 줄을 잠시 지웠다가 배포가 끝나면 되돌린다
- `--limit '!web2'` 처럼 실행 옵션으로 대상을 좁힌다
- web2 의 sshd 를 잠시 내려 접속 실패로 자연히 건너뛰게 한다
`ansible -m ping` 이 하는 일로 옳은 것은?
- 대상의 TCP 22 포트가 열려 있는지 소켓 연결만으로 확인한다
- 제어 노드 자신의 설정과 상태를 점검해 실행 준비가 됐는지 알려 준다
- 대상에 ICMP 에코 요청을 보내 응답이 돌아오는지 확인한다
- SSH 로 접속해 원격에서 파이썬 모듈을 실행하고 pong 을 받는다
INI 인벤토리와 YAML 인벤토리의 관계로 옳은 것은?
- 형식만 다를 뿐 해석 결과는 같은 구조의 데이터다
- YAML 만 그룹 계층을 표현할 수 있다
- INI 는 변수를 담을 수 없다
- INI 는 구식이라 새 버전에서는 동작하지 않는다
인벤토리가 이상할 때 가장 먼저 할 일은?
- 플레이북을 `-vvv` 로 돌려 출력에 찍힌 대상 호스트 목록을 훑는다
- `ansible-inventory --list` 로 해석 결과를 확인한다
- 인벤토리 파일을 지우고 동작하던 예제 형식으로 처음부터 다시 쓴다
- 대상 호스트에 SSH 로 직접 붙어 접속 자체가 되는지부터 확인한다