CentOS7에 Ansible을 pip으로 설치할 때

업데이트:

신입 때 처음으로 Ansible을 만났을 때, 선배로부터 pip으로 설치하라는 지시를 받고 가볍게 멘붕이 왔던 기억이 난다. 당시 내 머리속에 설치하는 방법이라곤 rpmyum밖에 들어있지 않았기 때문이다. 가뜩이나 외부 인터넷을 사용할 수 없는 환경에서 yum조차 자유롭게 사용할 수 없었던 탓에 로컬 PC에서 필요한 패키지를 모아 검증용 VM에 전송한 후 일일이 rpm 설치하고, 그마저 의존성에 걸리면 다시 패키지를 수집하는 삽질을 해 왔던 탓에 더더욱 그랬다.

하지만 pip은 기존 서버 환경의 버전을 유지하면서 필요한 패키지를 설치할 수 있는 아주 효과적인 방법으로, 서버 운용에 있어 필수불가결한 도구이다. yum update 등의 명령어에 영향을 받지 않고 독자적으로 ansible의 버전을 관리하고자 한다면 pip으로 설치하는 것이 현명하다. 물론, OS 자체의 업데이트가 필요할 경우, ansible이 함께 업데이트되지 않을 뿐더러, 업데이트에 의해 ansible 자체에 영향이 갈 수 있으니 주의할 필요가 있다.

이번 포스팅은 4년 전 삽질하던 신입 주리씨를 떠올리며 가볍게 정리해 두는 pip install ansible의 수순이다(CentOS7 기준).
(참고: 공식 페이지 설치법)

python 버전 확인

우선 CentOS7에는 기본적으로 python이 깔려있기 때문에 별도로 설치해 줄 필요는 없지만, 작업 시작 전 버전 확인과 그에 맞는 업데이트가 필요하다.

# python -V

python 업데이트

# yum update python

리포지토리에 EPEL 추가

추가 패키지 설치를 위해 리포지토리에 epel 을 추가해줄 필요가 있다.

# yum install epel-release

python-pip 설치

리포지토리를 epel로 설정하고 python-pip을 설치해준다.

# yum install –enablerepo=epel python-pip

pip 설치 확인

pip가 정상적으로 설치되었는지 확인할 겸 버전 확인

# pip —version

ansible 설치에 필요한 패키지 설치

사실 공식 페이지도 그렇고 구글에는 더 간단하게 설치하는 방법이 있는데 이 설치법이 특히 긴 이유는, 설치하는 서버에 최소한의 패키지만 사용하여 ansible을 기동시키기 위함이다. 아래 명령어 역시 ansible을 기동시키는 데 있어 정말 기본적인 패키지만 설치하기 때문에, 차후 운용하는 데 있어 필요한 패키지가 있다면 그때그때 설치해 줘야 할 필요가 있다.

# yum install libffi-devel libcurl-devel python-devel

ansible의 pip 설치

# pip install ansible

ansible 설치 확인

설치가 완료되었다면, ansible이 정상적으로 설치되었는지 확인할 겸 버전 확인

# ansible –version

지금 생각해보면 정말 별 것도 아닌 설치인데, 신입 때는 어쩜 그렇게 헤매었는지 모르겠다.
다음 ansible 포스팅은 업무를 진행하며 써 봤던 모듈이나 설정 등을 정리해 볼까.