여기 참조
왜사용?
하나의 서버에서 다른 서버들을 원격으로 관리하면서, 배포같은 작업을 수행하고자 할 때 편함
ansible 내부적으로 원격으로 다른 서버를 조작하는데는 ssh가 쓰임
ansible설치는 하나의 서버에만 하면됨. (조작을 당하는 서버에는 ansible설치 필요 없음)
python으로 만들어진듯
할수 있는 일
설치 yum, apt-get, ...
다운로드 git, get_url, ...
실행 shell, task, ...
설치
centos기준 $sudo yum install ansible
host설정
원격으로 관리할 서버들을 지정해준다.
sudo vi /etc/ansible/hosts를 열어서 열거해주면 된다. 그룹도 지원.
예를들면 다음과 같이 써준다.
1
2
3
|
[myhome]
127.0.0.1
|
cs |
host별로 ssh-key복사해주기
여기보고 따라하면 된다.
$ ssh-keygen -t rsa -C "userid@127.0.0.1" 이걸로 ssh-key만들어주고
$ ssh-copy-id userid@127.0.0.1 이걸로 host마다 복사해주면됨
ping날려보기
host설정이 잘된지 확인하기 위해 다음 명령어를 날려볼 수 있다.
$ ansible myhome -m ping
전반적인 single line, adhoc command에 대해서는 여기 참조 < 강추.. 하나씩 따라해보자
playbook사용해서 여러줄 동시에 실행하기
playbook은 yaml 문법을 사용하고, jinja문법으로 분기등 약간의 프로그래밍이 가능하다,
로깅
/etc/ansible/ansible.cfg에 log_path를 정해준대로 로깅이 된다.
task만으로도 playbook을 돌릴 수 있는데, role이 별도로 필요한 이유는 뭘까?
jenkins와의 차이점은 뭐지?
Agentless automation tool?
Ansible does not add a database, and there will be no daemons to start or keep running.
play book을 yaml을 사용해서 기술
'Programming > Linux' 카테고리의 다른 글
vimdiff (0) | 2021.04.07 |
---|---|
X Window System(X11) - 여러 호스트에서 ssh로 붙어서 사용하기 (0) | 2021.01.08 |
tmux and byobu (0) | 2020.09.21 |
vim (0) | 2020.09.20 |
리눅스 퍼미션 개념(파일 권한 관련) (0) | 2020.04.10 |