[번역] Ansible 2 튜토리얼 #1 - 소개 및 설치 개발 이것저것

이 글은 Servers for Hackers 사이트의 한 포스팅 글을 번역한 것입니다.
원문은 여기 를 참조해주세요~


소개

Ansible 은 설정 관리 및 규정을 위한 도구입니다.
비슷한 것으로 Chef, Puppet, Salt 등이 있지요.

Ansible 은 가장 시작하기에 단순하고 쉬운 것중 하나입니다. 그 이유로 들수 있는 많은 것중 대표적인 것은 한마디로 줄여 "just SSH" 라고 할수 있습니다. 그것은 SSH로 서버에 연결하여 설정된 task 들을 실행합니다.


Ansible 의 한가지 좋은점은 여전히 설정관리에 꽤 많이 쓰이는 bash script를 아주 쉽게 Ansible Task로 변환할수 있다는 거죠. 주로 SSh를 쓰기 떄문입니다. (Ansible에서는 ish command 를 대신 쓰지요)

우리가 단순히 script 를 짜는 것보다 Ansible 은 훨씬 더 깔끔합니다. 왜냐하면 그것은 Task를 실행하기전에 context를 가져오는 프로세스를 자동화하였기 때문입니다. 이 컨텍스트로 Ansible은 대부분의 edge-case (우리가 보통 다루고 있는 길고 복잡한 스크립트)들을 커버해낼 수 있습니다.

Ansible Tasks 은 멱등성(연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질)을 보장합니다. 보통 많은 양의 추가 작업을 하지 않고서 bash script는 보통 여러번 돌렸을때 이러한 멱등성을 보장하지 않습니다. Ansible 은 Task를 시작하기 직전에 수집한 시스템이자 환경 정보인 "Facts"를 사용합니다.

Ansible 은 이러한 facts 를 사용하여 우리가 원하는 결과를 얻어내기 위해 변경사항이 필요한지를 점검합니다. 그리고 이로인해, Ansible Task는 여러번 수행해도 안전하게 됩니다.

여기에 제가 Ansible 을 어떻게 시작해야할지 적어두었습니다. 우린 아주 기초부터 시작해서 점점 더 많은 feature 들을 하나씩 더해가며 조금씩 더 깊은 내용까지 살펴볼 겁니다.



설치하기

물론 Ansible 을 설치하는것부터 시작할겁니다. Task 는 Ansible이 설치된 어떤 머신이든 실행될수 있지요

이 뜻은, 보통 Ansible command를 실행하는 "중앙" 서버가 있을것이라고 생각하실텐데, 이 Ansible 이 설치된 서버는 정말 특별할게 없습니다.
Ansible 은 "agentless" 합니다. - 중앙 머신같은게 없지요. 우린 심지어 Ansible 을 어떤 서버에서도 실행시킬 수 있습니다. 저는 종종 제 Laptop 에서 Task 를 돌립니다.


Ubuntu

우분투 16.04 에서 설치하는 법입니다.
ppa:ansible/ansible repo 를 사용하는데 링크는 여기이고요
http://docs.ansible.com/intro_installation.html#latest-releases-via-apt-ubuntu


sudo apt-add-repository -y ppa:ansible/ansible
sudo apt-get update
sudo apt-get install -y ansible

위 명령어로 global 하게 설치가 가능할겁니다.


Virtualenv

이 방법이 제가 권장하는 Ansible 을 설치법입니다.
우리는 Pip로 virtualenv 를 설치할수 있죠,

# Install python2.7 (Ubuntu 16.04 comes with python 3 out of the box) and Pip
sudo apt-get install -y python2.7 python-pip

## Use Pip to install virtualenv
### -U updates it if the package is already installed
sudo pip install -U virtualenv


한번 우리가 pip 와 virtualenv 를 global 하게 설치하고나면 Ansible 을 가상환경안에 설치할 수 있습니다.


# Go to my user's home directory,
# make a directory to play with ansible
cd ~/
mkdir ansible-play
cd ansible-play

# Create a python virtual environment
virtualenv .venv
# Enable the virtual environment
source .venv/bin/activate

# Then anything we intall with pip will be
# inside that virtual environment
pip install ansible


위 명령어가 stable Ansible2 를 설치해줄겁니다.

일단 저 작업이 끝나면, deactivate 명령어로 virtualenv 를 비활성화 할 수 있습니다.
그리고 언제라도, Ansible 을 업데이트 할 수 있죠, 아래처럼요.

# Assumes the virtualenv is active - `source .venv/bin/activate`
# Assuming the virtualenv is active
pip install -U ansible






통계 위젯 (블랙)

38114
576
158410

GoogleAdsenseResponsive

Cluster map