[Linux]데브옵스 도구 : 엔서블 서버 환경 배치

 앤서블 설치 및 설정 




컴퓨터와 엔서블 사이에서는 최신 파이썬을 설치 해야합니다 .

# yum install python 

엔서블을 서버에 설치하려면 extras 저장소를 추가해야합니다 

#yum -y install epel-release

엔서블 설치 

# yum -y install ansible

접속을할 다른 가상 호스트를 생성합니다 .  



엔서블 호스트 구성 



앤서블은 관리할 호스트에 대한 정보를 /etc/ansible/ 디렉터리의 hosts라는 파일에서 가져옵니다 .



연결 테스트 

앤서블은 host파일에 나열된 호스트들에 연결을 시도하는데 이명령은 에드혹(add hoc) 모드라는 명령줄에서 실행됩니다 . 

-m 인자는 ping 모듈을 로드해 간단한 질문을 host파일에 나열된 모든 호스트에 보내라고 명령합니다 . 

# ansible all -m ping

특정 그룹 (ex / webserver) 에만 ping을 보냅니다 

#ansible webservers -m ping 





패스워드 없이 접속 


패스워드 없이 접속을 하기위해 다음과같은 설정을 합니다 . 

$ssh-keygen 
$ssh-copy-id .ssh/id_rsa.pub [접속호스트]@[ip]



파일 전송 

로컬 홈 디렉터리에 있는 파일을 원격호스트의 /var/www/html/ 디렉터리에 복사하는데 copy 모듈을 사용해 보겠습니다

명령어 해설
  • dest는 호스트의 목적지 위치를 가르킵니다 
  • src 인자는 로컬의 원본파일 위치를 가르킵니다 . 
# ansible webservers -m copy -a "src=/home/usera/testfile.txt dest=/var/www/html"


만약 정상적으로 처리가 이루어지지 않았다면 ansible.cfg 의 파일을 수정해야합니다 
Destination /var/www/html Not Writable이라는 메세지는 권한이 없다는 것을 의미합니다 .
 
/etc/ansible/ansible.cfg 파일의 [privilege_escalation]의 주석을 해제 시킵니다 .