- ansible 명령어에서 사용할 옵션들
1. -i (--inventory-file) → 적용될 호스트들에 대한 파일
8.8.8.8 IP를 list 파일에 저장하면, 8.8.8.8에만 ansible 명령을 내림
$ cd ~ # 인벤토리 파일에 8.8.8.8 저장 $ echo -e "8.8.8.8" > list $ cat list 8.8.8.8 # list 파일에 적힌 8.8.8.8에만 ping을 실행 (8.8.8.8은 테스트 IP) $ ansible all -i ~/list -m ping -k SSH password: 8.8.8.8 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
2. -m (--module-name) → 모듈을 선택
- ping은 ping 명령어가 아니라 python 모듈
- 이미 사용자가 만들어 놓은 모듈을 사용하던가, 아니면 스스로 직접 만들어서 사용 가능
3. -k (--ask-pass) → 패스워드를 물어보도록 설정
ssh 접속할 때 암호가 있어야 접속이 가능
암호가 저장되어 있지 않기 때문에 -k 옵션을 사용하지 않는 경우 ssh 접근이 안되어서 fail 발생
# -k 옵션 사용 X -> 암호가 없기 때문에 ssh 접속에 실패하여 명령어 실행 X $ ansible all -m ping 8.8.8.8 | UNREACHABLE! => { "changed": false, "msg": "Failed to connect to the host via ssh: Permission denied (publickey,gssapi-keyex,gssapi-with-mic,password).", "unreachable": true } # -k 옵션 사용 -> 암호를 입력하여 ssh 접속 가능 (명령어 실행) $ ansible all -m ping -k SSH password: 8.8.8.8 | SUCCESS => { "ansible_facts": { "discovered_interpreter_python": "/usr/bin/python" }, "changed": false, "ping": "pong" }
4. -K (--ask-become-pass) → 관리자로 권한 상승
- root 계정을 사용하는 경우 사용 X
- 유저 계정을 사용하는 경우 특정 명령어는 관리자 권한 상승이 필요
5. --list-hosts → 적용되는 호스트들을 확인
명령어를 실행하기 전에 적용받을 호스트들을 확인 가능
그룹에 따라 달라짐으로 실수를 방지하기 위해 미리 확인 필요
# all은 모든 호스트들을 의미 -> 전체 호스트 확인 가능 $ ansible all -m ping --list-hosts hosts (1): 8.8.8.8 # nginx 그룹에 적용된 호스트들을 확인 가능 $ ansible nginx -m ping --list-hosts hosts (1): 8.8.8.8 # list 파일에 있는 호스트만 확인 가능 $ ansible all -i ~/list -m ping --list-hosts hosts (1): 8.8.8.8
'Ansible(앤서블)' 카테고리의 다른 글
ansible 서버에서 비밀번호 없이 로그인 → authorized_keys 파일 저장 (0) | 2022.07.24 |
---|---|
ansible의 플레이북(playbook) (0) | 2022.07.24 |
ansible 명령어 간단한 사용 예시 (0) | 2022.07.24 |
ansible 설치 및 구성 (0) | 2022.07.24 |
ansible 사용할 때 적용하는 ansible.cfg 내용 (정리 중) (0) | 2022.06.24 |