Ansible 설치 가이드

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

태그: Ansible 자동화 인프라 관리 DevOps 서버 관리

5월 19일 22:20에 게시됨