[Ansible] 1. Ansible 개요 및 설치 방법
[Ansible] 1. Ansible 개요 및 설치 방법개요Ansible 설치 및 세팅법1. pip를 사용한 ansible 설치2. inventory 설정3. inventory 내 server 연결 테스트
개요
Ansible은 인프라 관리 도구로 관리 대상 서버에 Agent 설치 없이 SSH 기반으로 다량의 서버를 운영할 수 있게 해준다.
일반적으로 운영으로 불리는 영역은
- 패키지 설치
- kernel, process 등 현황 현황 확인
- 파일 다운로드
- script 배포 및 실행
등이 있다.
Ansible 은 AD-HOC 이라 불리는 일회성 원격 명령어 수행을 지원하며,
YAML언어를 활용한 playbook 작업도 지원한다.
Ansible 설치 및 세팅법
1. pip를 사용한 ansible 설치
Ansible 은 python 기반으로 제공되며 pip 명령어 또는 직접 설치를 통해 쉽게 세팅 가능하다.
앞서 말했듯이 별도의 Agent 를 필요로 하지 않기 때문에 관리용 Management 서버 1대만 설정하면 된다.
pip install ansible
RHEL 이나 Cent OS 의 경우 yum 을 통해서도 설치 가능하다.
yum install ansible
2. inventory 설정
Ansible 에서는 관리 대상의 서버 리스트를 inventory라고 부른다.
inventory는 /etc/ansible/hosts 에 저장되며 서버 그룹과 호스트로 구성된다.
host는 /etc/hosts 에 사전에 등록되어 있어야 이름을 통해 해당 IP로 찾아갈 수 있다.
ex) /etc/ansible/hosts 예제
3. inventory 내 server 연결 테스트
ansible 은 ping 모듈을 통해 관리 장비와의 ansible 연동 테스트를 제공한다.
ssh 공개키 설정이 되어 있지 않다면 -k 옵션을 사용하여 password를 수동으로 입력해야 한다.
ssh 공개키 설정은
ssh-keygen 으로 공개키 생성 후
ssh-copy-id @server2 로 원격 배포가 가능하다.
공개키 세팅 후에는 -u 나 -k 옵션 없이 ansible 의 ping 체크가 가능하다.
마지막으로 ansible 의 setup 모듈을 사용하면 해당 장비의 관련 정보를 수집할 수 있다.
- 관련정보 : OS 버전, NIC, Partition, Process 정보 등
결과 값은 JSON 형식을 통해 제공된다.
ansible -m setup
[참고 사이트]
'Ansible' 카테고리의 다른 글
[Ansible] 6 . Ansible Playbook에서 Command line을 통해 입력 받은 변수 사용 방법 (2) | 2018.08.25 |
---|---|
[Ansible] 5 . Ansible 의 멱등성 이해 및 Cron 모듈 예제 (0) | 2018.08.22 |
[Ansible] 4 . Ansible Playbook 에서 hosts 인벤토리 파일 지정 (0) | 2018.08.22 |
[Ansible] 3 . Ansible Playbook 에서 gather_facts 설정 해제 (0) | 2018.08.22 |
[Ansible] 2 . Ansible Playbook 활용 및 예제 (0) | 2018.08.22 |