Ansible 을 GUI 로 관리하고, api로 제어할수 있도록 해주는 시스템이다. Playbook 을 관리하고 운영하는데 필요한 여러 기능을 제공한다. 서버에 AWX를 설치해보고 사용법 익히자.
설치 서버 사양
- Ubuntun 14.04
- Python 2.7
1. 사전에 설치가 필요한 package
##ansible, docker, docker-compose
sudo apt update && sudo apt -y upgrade
apt-get install ansible
apt-get install sshpass
pip install docker-py
pip install docker-compose
##pip
pip install --upgrade pip
pip install docker-compose --ignore-installed
##pip module : python module version 이 낮은경우 발생하는 문제를 회피하기위해 설치
pip install requests urllib3 pyOpenSSL --force --upgrade
2. AWX git clone
-b 옵션으로 특정버전을 다운로드 받는다. (최신 버전은 python 3에서만 동작하여 Ver10으로 설치함)
github.com/ansible/awx/releases
git clone -b 10.0.0 https://github.com/ansible/awx.git
3. Config 설정 (installer/inventory)
변경이 필요한 부분이 있으면 변경한다. 나는 80port가 사용중이어서 host port 만 99로 변경하였다.
$vi installer/inventory
#host port 설정
host_port=99
#admin_password설정
admin_user=admin
admin_password=password
#awx docker 관련 설정들이 저장되는 위치
postgres_data_dir="~/.awx/pgdocker"
docker_compose_dir="~/.awx/awxcompose"
4. AWX install
cd installer
ansible-playbook -i inventory install.yml
아래와 같이 필요한 task들이 진행되며 설치가 진행된다.
$docker ps 명령어를 통해 정상적으로 awx container가 생성된것을 볼수 있다.
5. AWX 접속
IP(localhost):port 로 접속 후 로그인하자 (admin, password)
test하는 서버의 python version 이 낮아서 그런지 awx 최신버전이 설치할때 다양한 에러들이 발생했다. study 용이어서 속편하게 AWX ver10으로 설치하고 진행했음.
아래와 같은 에러 혹은 아예 모든 task가 skip 되는 경우 등.....
TASK [local_docker : Start the containers] ************************************************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "Failed to import the required Python library (Docker SDK for Python: docker (Python >= 2.7) or docker-py (Python 2.6)) on LGEABMS01P's Python /usr/local/bin/python3. Please read module documentation and install in the appropriate location. If the required library is installed, but Ansible is using the wrong Python interpreter, please consult the documentation on ansible_python_interpreter, for example via `pip install docker` or `pip install docker-py` (Python 2.6). The error was: No module named 'docker'"}
'Hello World > IaC' 카테고리의 다른 글
[Ansible/AWX] AWX 관리 tip - Management Job (0) | 2021.03.24 |
---|---|
[Ansible/AWX] AWX inventory 에 host 자동 추가 (2) | 2021.03.24 |
[docker] Your kernel does not support swap limit capabilities or the cgroup is not mounted. Memory limited without swap. (1) | 2021.01.20 |
IT 용어 정리 - BareMetal, VM, On-Premise, Off-Premiss, Cloud (0) | 2020.12.21 |
IaC(Infrastructure as Code) 란? (0) | 2020.12.17 |
댓글