반응형
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 |