LabHub

Ansible 기초 · 인벤토리와 애드혹 · 퀴즈

퀴즈: 인벤토리와 애드혹

LabHub 에서 이어서 보기

문항 6개. 정답과 해설은 풀어 본 뒤에 보여 드립니다.

  1. `[prod:children]` 섹션에 들어갈 수 있는 것은?

    1. 호스트와 그룹 모두
    2. 변수 정의만
    3. 호스트 이름만
    4. 그룹 이름만
  2. `all:vars` 에 `ansible_user=root`, `web:vars` 에 `ansible_user=deploy`, 그리고 `web1` 의 호스트 변수로 `ansible_user=admin` 이 있습니다. web1 에 접속할 때 쓰이는 사용자는?

    1. deploy
    2. 정의가 충돌해 오류가 난다
    3. admin
    4. root
  3. 특정 배포에서 web2 만 빼고 실행하려 합니다. 가장 적절한 방법은?

    1. web2 만 빠진 인벤토리 파일을 따로 만들어 그 파일로 실행한다
    2. 인벤토리에서 web2 줄을 잠시 지웠다가 배포가 끝나면 되돌린다
    3. `--limit '!web2'` 처럼 실행 옵션으로 대상을 좁힌다
    4. web2 의 sshd 를 잠시 내려 접속 실패로 자연히 건너뛰게 한다
  4. `ansible -m ping` 이 하는 일로 옳은 것은?

    1. 대상의 TCP 22 포트가 열려 있는지 소켓 연결만으로 확인한다
    2. 제어 노드 자신의 설정과 상태를 점검해 실행 준비가 됐는지 알려 준다
    3. 대상에 ICMP 에코 요청을 보내 응답이 돌아오는지 확인한다
    4. SSH 로 접속해 원격에서 파이썬 모듈을 실행하고 pong 을 받는다
  5. INI 인벤토리와 YAML 인벤토리의 관계로 옳은 것은?

    1. 형식만 다를 뿐 해석 결과는 같은 구조의 데이터다
    2. YAML 만 그룹 계층을 표현할 수 있다
    3. INI 는 변수를 담을 수 없다
    4. INI 는 구식이라 새 버전에서는 동작하지 않는다
  6. 인벤토리가 이상할 때 가장 먼저 할 일은?

    1. 플레이북을 `-vvv` 로 돌려 출력에 찍힌 대상 호스트 목록을 훑는다
    2. `ansible-inventory --list` 로 해석 결과를 확인한다
    3. 인벤토리 파일을 지우고 동작하던 예제 형식으로 처음부터 다시 쓴다
    4. 대상 호스트에 SSH 로 직접 붙어 접속 자체가 되는지부터 확인한다