Yum을 통한 설치 방법
외부 EPEL 저장소 추가
CentOS 6 시스템에 EPEL 저장소를 추가합니다:
# CentOS 6용 EPEL 저장소 설치
rpm -ivh http://mirrors.sohu.com/fedora-epel/6/x86_64/epel-release-6-8.noarch.rpm
# 시스템 버전 확인
cat /etc/issue
Ansible 패키지 설치
# Ansible 설치
yum install ansible
# 커스텀 모듈이나 최신 버전을 사용하려면 GitHub에서 소스 코드 다운로드
git clone https://github.com/ansible/ansible.git
Ansible 설치 위치 확인
# Ansible 설치 위치 확인
whereis ansible
ansible: /usr/bin/ansible /etc/ansible /usr/share/ansible /usr/share/man/man1/ansible.1.gz
컴파일 방식 설치
Ansible 기본 설치 단계
1. Python 2.7 설치
# Python 2.7.8 다운로드
wget https://www.python.org/ftp/python/2.7.8/Python-2.7.8.tgz
tar xvzf Python-2.7.8.tgz
cd Python-2.7.8
./configure --prefix=/usr/local
make --jobs=`grep processor/proc/cpuinfo | wc -l`
make install
# Python 헤더 파일을 표준 디렉토리로 복사
cd /usr/local/include/python2.7
cp -a ./* /usr/local/include/
# 기존 Python 백업 및 새 버전에 심볼릭 링크 생성
cd /usr/bin
mv python python2.6
ln -s /usr/local/bin/python
# yum 스크립트 수정
vim /usr/bin/yum
#!/usr/bin/python --> #!/usr/bin/python2.6
2. setuptools 모듈 설치
# setuptools 다운로드
wget https://pypi.python.org/packages/source/s/setuptools/setuptools-7.0.tar.gz
tar xvzf setuptools-7.0.tar.gz
cd setuptools-7.0
python setup.py install
3. pycrypto 모듈 설치
# pycrypto 다운로드
wget https://pypi.python.org/packages/source/p/pycrypto/pycrypto-2.6.1.tar.gz
tar xvzf pycrypto-2.6.1.tar.gz
cd pycrypto-2.6.1
python setup.py install
4. PyYAML 모듈 설치
# libyaml 다운로드 및 설치
wget http://pyyaml.org/download/libyaml/yaml-0.1.5.tar.gz
tar xvzf yaml-0.1.5.tar.gz
cd yaml-0.1.5
./configure --prefix=/usr/local
make --jobs=`grep processor/proc/cpuinfo | wc -l`
make install
# PyYAML 다운로드 및 설치
wget https://pypi.python.org/packages/source/P/PyYAML/PyYAML-3.11.tar.gz
tar xvzf PyYAML-3.11.tar.gz
cd PyYAML-3.11
python setup.py install
5. Jinja2 모듈 설치
# MarkupSafe 다운로드
wget https://pypi.python.org/packages/source/M/MarkupSafe/MarkupSafe-0.9.3.tar.gz
tar xvzf MarkupSafe-0.9.3.tar.gz
cd MarkupSafe-0.9.3
python setup.py install
# Jinja2 다운로드
wget https://pypi.python.org/packages/source/J/Jinja2/Jinja2-2.7.3.tar.gz
tar xvzf Jinja2-2.7.3.tar.gz
cd Jinja2-2.7.3
python setup.py install
6. paramiko 모듈 설치
# ecdsa 다운로드
wget https://pypi.python.org/packages/source/e/ecdsa/ecdsa-0.11.tar.gz
tar xvzf ecdsa-0.11.tar.gz
cd ecdsa-0.11
python setup.py install
# paramiko 다운로드
wget https://pypi.python.org/packages/source/p/paramiko/paramiko-1.15.1.tar.gz
tar xvzf paramiko-1.15.1.tar.gz
cd paramiko-1.15.1
python setup.py install
7. simplejson 모듈 설치
# simplejson 다운로드
wget https://pypi.python.org/packages/source/s/simplejson/simplejson-3.6.5.tar.gz
tar xvzf simplejson-3.6.5.tar.gz
cd simplejson-3.6.5
python setup.py install
8. Ansible 소스 설치
# Ansible 소스 다운로드
wget https://github.com/ansible/ansible/archive/v1.7.2.tar.gz
tar xvzf ansible-1.7.2.tar.gz
cd ansible-1.7.2
python setup.py install
9. sshpass 설치
# sshpass 다운로드
wget http://down1.chinaunix.net/distfiles/sshpass-1.05.tar.gz
tar xf sshpass-1.05.tar.gz
cd sshpass-1.05
./configure
make && make install
Ansible 설정 파일 구성
컴파일 방식으로 Ansible을 설치한 경우 다음 작업이 필요합니다:
# 예제 파일을 Ansible 설정 디렉토리로 복사
cd ansible-1.7.2/examples/
cp -r * /etc/ansible/
호스트 파일 정의
# hosts 파일 편집
vim /etc/ansible/hosts
# 테스트 그룹 추가 (예)
[test_servers]
192.168.1.10
192.168.1.11
SSH 키 기반 인증 설정
# SSH 키 생성
ssh-keygen
# 공개 키를 원격 서버로 복사 (비밀번호 입력 필요)
ansible all -m copy -a 'src=~/.ssh/id_rsa.pub dest=~' -k
# 원격 서버에 authorized_keys에 키 추가
ansible all -m shell -a 'cat ~/id_rsa.pub >> ~/.ssh/authorized_keys' -k
# 설정 확인
ansible all -m shell -a 'cat .ssh/authorized_keys'
# 사용 가능한 모듈 목록 확인
ansible-doc -l
# 특정 모듈 도움말 확인
ansible-doc command