이쿠의 슬기로운 개발생활

함께 성장하기 위한 보안 개발자 EverNote 내용 공유

클라우드/Ansible

02. Ansible 설치

이쿠우우 2021. 12. 12. 11:05
반응형

 

Ansible 설치

 

목표

CentOS 7.5에 Ansible 설치
 

 

0. Ansible 설치 요구 사항

 

Control Node

[Linux/Unix Host]
Python2 (2.7이상) or Python 3 (3.5이상)
SSH (22포트)
서버 방화벽 또는 ACL Rule 허용
 
[Windows]
최소 PowerShell 4.0이상 & .NetFramwork 4.0 이상
(3.0버전은 winRM memory hotfix 적용 필요)
WinRM (5986 포트)
서버 방화벽 또는 ACL Rule 허용
Windows 2008 R2 SP1 이상
WinRM 활성화
 
 

Managed Node

[Linux/Unix Host]
Python2 (2.6이상) or Python 3 (3.5이상)
Python 2.5이전 버전 사용하는 경우 python-simplejson 필요
SSH 인 통신 방법이 필요. 기본적으로 SFTP를 사용합니다.
사용할 수없는 경우 ansible.cfg 에서 SCP로 전환 가능
 
[Windows]
1.7 버전부터 Ansible로 관리하는 것은 가능,
Window에 Ansible을 설치해서 다른 OS 관리하는 것은 불가능
 
 

 
 

1. Python 설치

 
Ansible은 python으로 개발된 것 임으로 python 설치가 필요함.
CentOS 7.5의 경우 default로 python 2.7.5가 설치되어 있음.
python이 없는 경우 설치 필요.
 
[확인 명령어]
python --version

 

 

2. Ansible 설치

 
[명령어]
yum install -y ansible
 
만약 yum 설치 시 No package ansible available. 메세지가 나온다면
yum install -y epel-release
yum repolist
명령 이후 다시 시도.
 
[참고]
Ubuntu의 경우
apt install ansible
 

3. Ansible 설치 확인

 
[명령어]
ansible --verison

 

4. Ansible inventory host접근 확인

[Ansible로 관리하고자 하는 host에서 test계정을 생성] : managed node에서 실행
adduser ansible_test
passwd ansible_test

[생성한 user가 sudo 권한을 password 없이 사용할 수 있도록 설정] : managed node에서 실행

[Control Node에서 managed node로 ssh 접속 되는지 확인] : control node에서 실행
ssh 를 복사함.
ssh 기가 없다면 ssh-keygen 명령을 통해 생성할 수 있음.
참고 : managed node ip : 10.0.2.4
(명령어)
ssh-copy-id ansible_test@10.0.2.4 

[Inventory 파일 작성] : control node에서 실행
아래와 같이 host.ini 파일 생성.
target-host ansible_host=10.0.2.4 ansible_user=ansible_test

target-host = 서버의 이름을 정의함.
ansible_host=10.0.2.4 = ssh 접속을 위한 managed node의 ip 주소
ansible_user=ansible_test =  ssh 접속 계정
 
[ansible 정상 동작 확인] : control node에서 실행
ansible -m ping -i host.ini all

 
원격으로 붙을 때 password 입력 안하도록 설정
eval "$(ssh-agent -s)"
ssh-add ~/.ssh/id_rsa

 

반응형

'클라우드 > Ansible' 카테고리의 다른 글

06. Ansible lookup  (0) 2022.01.09
05. Ansible Role  (0) 2021.12.13
04. Ansible Playbook  (0) 2021.12.13
03. Ansible inventory  (0) 2021.12.13
01. Ansible 개념  (0) 2021.12.12