Multiple Hosts를 중앙 관리할 수 있는 유용한 도구인 Ansible을 적용해보려 합니다. 기본적으로 관리하기 위하여 사용을 하였는데 기초적으로 어떻게 설정하고 사용하는지에 대한 방법을 공유합니다. 자세한 이론은 아래 링크에서 확인!
0. 구성 환경 Summary
1개의 관리 서버
6개의 Target 서버
* 아래에는 root로 실행이 되지만 실제로는 사용자 계정을 생성하여 해당 계정으로 수행해야 함.
1. Ansible Master 설치
# yum install epel-release
# yum install ansible -y
2021년 03월 18일 기준, 16개의 Package가 설치됩니다.
2. Ansible Remote 서버 등록
/etc/ansible/hosts 에 기본적인 Sample(example) 정보가 있습니다. 관련하여 주석을 해제하거나 특정한 그룹으로 호스트를 등록합니다.
3. Remote 서버에 패스워드 없이 접속할 수 있도록 설정
SSH Key 생성하여 원격관리 서버에 전달
# ssh-keygen
관리대상 서버에 ssh key ID를 전달, 아래와 같이 입력할 때 원격 호스트 패스워드 입력
# ssh-copy-id 192.168.1.50
# ssh-copy-id 192.168.1.51
# ssh-copy-id 192.168.1.60
# ssh-copy-id 192.168.1.61
4. Remote 서버가 정상적으로 응답하는지 PING-PONG 테스트
# ansible all -m ping
# ansible 그룹명 -m ping
5. Ansible Master서버에서 Remote서버로 파일 배포
# ansible all -m copy -a "src=~/test.txt dest=/tmp/test.txt"
# ansible 그룹명 -m copy -a "src=~/test.txt dest=/tmp/test.txt"
6. Remote 서버에서 Ansible Master로 일괄 파일 수집
# ansible all -m fetch -a "src=/var/log/message dest=/test/logs/log"
# ansible 그룹명 -m fetch -a "src=/var/log/message dest=/test/logs/log"
7. Remote 서버에 일괄 Shell 명령 수행
# ansible all -m shell -a "ulimit -a"
# ansible 그룹명 -m shell -a "yum install net-tools -y"
# ansible 그룹명 -m shell -a "ip a"
728x90
'ETC' 카테고리의 다른 글
Infraboy (0) | 2023.02.28 |
---|---|
[NFT] Infraboy NFT 만들기 (0) | 2022.02.14 |
[WEB] 홈페이지 제작 | 그누보드를 이용한 홈페이지 제작 (0) | 2021.01.22 |
[Dev] Spring | VSCode를 활용한 웹 프로젝트 개발 환경 (2) (0) | 2021.01.18 |
[Dev] Spring | VSCode를 활용한 웹 프로젝트 개발 환경 (1) (0) | 2021.01.14 |
댓글