DevOps/Ansible
Ansible로 shell, command, yum 명령어 사용하기
지나가는 지식들을 모아두기
2022. 5. 18. 13:48
728x90
300x250
ansible로 다양한 명령어를 통해 node들을 제어할 수 있습니다.
예를 들어 web이라는 node들에게 test.txt를 삭제하게 명령하려면 아래와 같습니다.
ansible web -m shell -a "rm /home/test.txt" -b
여기서 -m 은 모듈을, -a 는 명령어를, -b는 root 권한을 의미합니다.
해석하자면 web이라는 node들에게 shell 명령어와 sudo권한으로 rm /home/test.txt를 수행하라는 의미입니다.
기본적으로 ansible의 node들, host들은 /etc/ansible/hosts 파일에 담겨져 있습니다.
main PC와 node PC간 SSH 통신이 가능하면 위의 명령어를 수행할 수 있습니다.
다음은 이런식으로도 변형이 가능합니다.
ansible로 web에게 작업디렉토리를 이동한후 .sh파일을 실행하라는 명령어는 아래와 같습니다.
ansible web -m shell -a "cd /etc/bin; ./test.sh start" -b
이렇게 shell에서 쓸 수 있는 명령어는 대부분 가능하기에 여러가지로 응용을 할 수 있습니다.
command도 마찬가지입니다.
ansible web -m command -a "cat /home/test.txt"
위의 명령어는 test.txt의 내용을 확인하는 명령어인데 이처럼 사용할 수도 있습니다.
728x90
300x250