설치를 위한 사전 정보
Redhat에서 정석적인 경로로 ansible을 받는 경우, Subscription 에 대한 사전지식이 필요하지만, 여기서는 따로 전달하지 않는다. Ansible은 표준 레드햇 엔터프라이즈 리눅스 서브스크립션이 있으면 제한된 지원을 받으며, 해당 채널을 사용하여 ansible을 설치할 수 있다. 이러한 채널은 Repository인 rhel-7-server-ansible2-rpms(최신 업데이트버전), rhel-7-server-ansible-2.7-rpms(2.7버전) 등이 있다. (2.6, 2.5, 2.4 등도 물론 있을 것이다)
그러나 Ansible과 해당 모듈에 대해 정식 지원을 원한다면 Redhat Ansible Engine Subscription을 구매해야 한다. 이는 SLA(Service Level Agreement)와 Ansible, 그리고 핵심 모듈의 공개 적용 범위에 대한 공식 기술지원을 제공한다.
또한 Redhat Ansible Engine은 신속한 업스트림 개발로 인해 버전 수명주기가 빠른 편이다. 상세한 수명 주기는 아래 링크를 참고한다.
access.redhat.com/support/policy/updates/ansible-engine
Ansible 설치하기
Ansible 설치 방식은 크게 3가지 Case가 있으며, 제어 노드에서만 설치하면 된다. 다른 관리 호스트에서는 특별히 할 것은 없으며, 몇가지 기본설정만 수행하면 된다. 그리고 제어노드는 Linux/Unix만 그 역할을 할 수 있다. (윈도우, 네트워크 장치 등은 불가) 또한 설치되는 Ansible은 x86_64가 아닌, noarch 이다.
* RHEL Subscription만 있는 경우
1. 서브스크립션 새로고침 : subscription-manager refresh
2. Ansible 서브스크립션 등록 : subscription-manager repos --enable rhel-7-server-ansible-2-rpms
3. 설치 진행 : yum install ansible
4. 설치 확인 : ansible --version
* Ansible Subscription이 있는 경우
1. 시스템을 서브스크립션등록 : subscription-manager register
2. 사용가능한 서브스크립션 확인 : subscription-manager list --availabie
3. 서브스크립션의 pool ID를 사용하여 pool을 시스템에 연결 : subscription-manager attach --pool=<engine-subscription-pool>
4. redhat ansible engine 리포지토리 활성 : subscription-manager repos --enable rhel-7-server-ansible-2-rpms
5. 엔진설치 : yum install ansible
6. 설치 확인 : ansible --version
* Subscription이 없는 경우 (CentOS)
1. epel-release 레포지토리 등록 (여기에 Ansible이 있음) : yum install epel-release
2. 설치 진행 : yum install ansible
3. 설치 확인 : ansible --version
일반적으로 개인사용자가 따로 서브스크립션을 구매하지는 않으므로, CentOS에서 설치하는것이 가장 간편하다. 굳이 RHEL로 해야 한다면, CentOS의 /etc/yum.repos.d/ 에 있는 모든 내용을 RHEL의 동일한 경로로 복사한 후 Subscription이 없는 경우와 동일하게 진행하면 된다.
위와 같은 방법으로 하면 아래 이미지처럼 알아서 dependency로 python을 설치하지만, 다른 방법으로 ansible을 수동설치 하는 경우, python 등도 따로 직접 설치해야 하므로 가능하면 위와 같은 정식 루트로 설치하는 것을 권고한다.
# 참고 : 관리 호스트에서 확인할 사항
Linux 기준으로 기본적으로 따로 뭔가를 할 것은 없지만, 제어 노드가 관리 호스트에 연결하는 방식과 실행할 모듈에 따라 관리 호스트에 몇가지 요구사항이 있을 수 있다. 또한 관리 호스트가 윈도우나 네트워크 장비인경우 추가적으로 다른 내용이 있을 수 있다. (이 글에서는 윈도우와 네트워크 장비는 배제하고 Linux 기준으로 설명한다)
1. 대부분의 모듈이 작동하기 위해 python 2.6, 3.5 이상이 설치되어야 한다. (yum install python, yum installl python3)
2. 관리 호스트에서 Selinux가 활성화 되어있는 경우 복사, 파일/템플릿 기능과 관련 있는 모듈은 selinux의 영향을 받기 때문에 관련 패키지를 설치해야 한다. (yum install libselinux-python)
3. 일부 모듈에는 고유의 추가사항이 있다. 예를들어 fedora 시스템에 패키지를 설치하는 데 사용하는 dnf 모듈은 python-dnf 패키지를 설치해야 한다. (yum install python-dnf)
4. Linux, Unix인 경우 SSH 기반으로 통신하므로 openssh 설치 및 사용할 수 있도록 설정이 되어 있어야 한다.
설치 관련 추가 상세사항은 다음 링크를 참고한다.
access.redhat.com/articles/3174981 (권한 있는 계정 로그인 필요)
centos의 최신버전은 다음 링크를 확인한다.
https://releases.ansible.com/ansible/
'Ansible' 카테고리의 다른 글
6장. ansible에서 모듈 사용하기 (0) | 2021.02.19 |
---|---|
5장. ad-hoc 명령 (0) | 2021.02.19 |
4장. ansible.cfg 파일 톺아보기 (0) | 2021.02.06 |
3장. Inventory 파일 (2) | 2021.02.06 |
1장. Ansible 소개 (0) | 2021.02.06 |