[Linux] 다 계층 및 역할이 있는 플레이 북 생성

 다 계층 및 역할이 있는 플레이 북 생성


앤서블이 관리하는 인프라가 각기 고유한 파라미터를 가지는 요소 계층이 많아져서 무거워지면 이 모든 설정을 플레이 북 스크립트 하나에 보관할 수 없습니다 . 


모듈 정리 

테스크와 처리기, 그외 데이터 타입을 별도의 디렉터리와 파일에 분산하면 스크립트가 읽기 쉬워질 것입니다 . 이렇게 모듈로 정돈하면 모두 새로 만들지 않고도 플레이 북을 작성할 수 있습니다 . 



앤서블 역할 생성 


#cd /etc/ansible/roles
#ansible-galaxy init web-app

web-app 이라는 디렉터리가 새로 생성 되었습니다

ls -R 명령으로 하위 디렉토리를 나열합니다 .







web-app의 내용

  • var : 암호화 키의 위치에 대한 정보 
  • templates : 파이썬.j2 포맷으로 만들어진 아파치 환경설정 파일 같이 설치할 템플릿 파일이 들어갑니다 . 
  • files : 호스트에 사용할 여러 데이터 파일이 들어갑니다 . 


패스워드 관리


호스트 패스워드들을 앤서블 인프라에 저장하더라도 결코 평문 문서로 저장해서는 안됩니다 . 그래서 앤서블에는 데이터를 암호화 후 보관하는 볼트라는 도구를 제공합니다 . 


#export EDITOR=vi

#ansible-vault create mypasswordfile 

만약 모든 호스트가 단하나의 패스워드를 사용한다면 ansible-playbook명령어 --ask-vault-pass 인자를 전달해도 볼트를 사용할 수 있습니다 . 

#ansible-playbook site.yml --ask-vault-pass