Ansible AWX Install Guide : 기본 설치 및 구성

 AWX는 Ansible을위한 사용자 인터페이스, REST API 및 태스크 엔진을 제공하는 오픈 소스 웹 애플리케이션입니다. Ansible Tower의 오픈 소스 버전입니다. AWX를 사용하면 Ansible 플레이 북, 인벤토리를 관리하고 웹 인터페이스를 사용하여 작업을 예약 할 수 있습니다.

이번 블로그 포스팅에는 awx ansible에 대한 설정 자격 증명, 인벤토리, 설정 및 실행 작업 템플릿 등과 같이 알아야 할 Ansible AWX의 일부 기본 구성을 작성하려고 합니다.

 

전제조건

  • Ansible AWX 서버
  • Ansible에 대한 기본 이해
  • 루트 권한

주요 내용

  • 환경 설정 및 구성
  • 자격 증명 설정
  • 설정 인벤토리
  • 설치 프로젝트
  • 설정 작업 템플릿
  • 작업 실행

1단계 - 환경 설정 및 구성

환경을 구성하기에 앞서 yum 명령어를 통하여 업데이트를 진행하여 줍니다.

  - yum update

이제 yum을 이용하여 awx-ansible에서 사용하는 기본 패키지를 설치합니다.

  - sudo yum -y install bzip2 device-mapper-persistent-data gcc gcc-c++ git gettext lvm2 yum-utils python3 pip3

[기본 페키지 설치]

편의성을 위해 selinux를 disalble 시켜놓고 작업하였습니다. 이제 pip3와 python3를 기본으로 동작하도록 변경해주세요.

  - alias python='/usr/bin/python3'

  - alias pip='/usr/bin/pip3'

  - source .bashrc

  - yum install -y libselinux-python3

[python 버전 확인]

이제 python을 이용하여 도커를 설치해주세요.

  - pip install docker docker-py docker-compose

[파이프를 이용하여 도커설치]

다음으로 EPEL repository를 설치하고, Docker repository까지 추가해주세요

  - sudo yum -y install epel-release

[epel 릴리즈]

  - sudo yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo 

[repo 리스트 추가]

레포를 추가하였으면 yum update 작업을 진행하여 주시면 완료되었습니다. 이제 Ansible과 pip를 설치하여 줍니다.

  - sudo yum -y install ansible python-pip

위에 설치가 완료 되었으면 Docker-CE버전을 설치하여줍니다.

  - sudo yum -y install docker-ce

  - sudo systemctl enable docker && systemctl start docker

다 받으셨으면 git을 이용하여 AWX 프로젝트를 Clone으로 받고 설치를 계속 진행하겠습니다.

  - git clone --depth 50 https://github.com/ansible/awx.git

  - cd awx/installer

  - ansible-playbook -i inventory install.yml

 

해당 명령을 통해 설치 진행을 완료해주시면 됩니다.

 

이제 awx 내의 설정파일인 inventory 설정을 변경하여줍니다.

  - cd awx/installer
  - vi inventory

[버전 변경]
[포트 변경]
[주석 해체]

설치가 완료되었습니다. 이제 방화벽 정책을 열어 주시면 됩니다.

  - firewall-cmd --add-service=http --permanent;firewall-cmd --add-service=https --permanent
  - firewall-cmd --reload

이제 awx 타워를 올려 보도록 하겠습니다.

 

저는 파이썬 이슈가 조금 있어서 해당 내용을 추가하여 알려드리겠습니다.

  - pip uninstall docker docker-py docker-compose

  - pip install docker-compose

해당 내용은 python3로 셋업했는데 무엇인가 잘못 설정했는지 충돌이 되었던 것 같습니다.

해당 명령어를 이용하여 재설치를 진행하고 증상은 해소가 되었습니다.

이제 다시 awx 타워를 올려보겠습니다.

 

  - docker logs -f awx_task

해당 명령어를 쳤을 때 아래와 같이 나온다면 타워가 현재 올라가는 중으로 설치는 완료되 었습니다.

엄청나게 오래 걸리니 그냥 두시면 됩니다. 최초셋업 때만 그러니 신경 안쓰셔도 됩니다.

 

참고문헌

https://devdocs.io/ansible~2.9/installation_guide/intro_installation

https://stackoverflow.com/questions/50151210/unable-to-run-docker-compose-in-an-ansible-playbook

댓글

이 블로그의 인기 게시물

AWS 용어

AML 체계란 무엇인가?

Cisco 명령어 정리