상세 컨텐츠

본문 제목

마침내 Ansible 웍스(AWX)설치하다.

클라우드+마이크로서비스

by 김일국 2019. 5. 23. 14:25

본문

지난 주에 공부 했던 [인프라 구성관리 및 프로비저닝을 위한 Ansible 활용과정] 중에

AWX(Ansible Works)라는 오픈소스 (Ansible 환경에 Django 웹프레임워크로 개발)

- 주) AWX의 대시보드로 RESTful API를 사용해서 CLI모드가 아닌 GUI모드로 Ansible과 상호작용해서 프로비저닝을 할 수 있습니다.

위 AWX를 설치 하지 못하고 있다고, 오늘 드디어 설치해서 로그인 해 보았습니다.(아래)

 

설치 내역 정리

- 버추얼박스 기반의 베어그란트(vagrant) 로 박스 생성

------ 윈도우 파워쉘 에서 ------

버추얼박스설치: https://download.virtualbox.org/virtualbox/6.0.4/VirtualBox-6.0.4-128413-Win.exe 

버추얼박스확장팩설치: https://download.virtualbox.org/virtualbox/6.0.4/Oracle_VM_VirtualBox_Extension_Pack-6.0.4.vbox-extpack

베어그랜트설치: https://releases.hashicorp.com/vagrant/2.2.4/vagrant_2.2.4_x86_64.msi
D: (저는 D드라이브에 ansible 폴더를 생성 했습니다.)
mkdir ansible
cd \ansible (Vagrantfile 파일 복사)

Vagrantfile
0.00MB

(이전 포스트의 Vagrant 파일은 3개의 노드를 사용했으나, 속도 때문에 현재는 2개의 노드 controller, host1 만 사용했음).

(controller 노드: Cpu1, Mem4096, IP: 192.168.56.100 / host1 노드: Cpu1, Mem:1024, IP:192.168.56.101)

vagrant plugin install vagrant-hostmanager (베어그랜트 호스트네임 플러그인 설치)
vagrant plugin list (확인)
vagrant box add centos/7 (삭제: vagrant box remove centos/7 --all)
vagrant up

vagrant status (확인)

vagrant ssh controller (SSH접속암호: vagrant)

 

------ 버추얼박스 ssh 접속 이후 접속키파일 생성(필수는 아님, 건너띄고 나중에해도 됨)------

 ls ~/.ssh (이미 1개 authorized_keys 파일 있는데, 암호 없이 ssh 접속이 가능하게 한다.)
 ssh-keygen (새로 생성하는 이유는 Ansible AWX에서 파일 인증에 사용하려고...암호 없이 생성)
 ls ~/.ssh ( id_rsa  id_rsa.pub 추가로 2개 파일 생성됨)
 ssh-copy-id vagrant@host1 (id_rsa.pub파일의 공개키를 원격노드 authorized_keys에 내용추가)
 ssh-copy-id vagrant@controller (id_rsa.pub파일의 공개키를 원격노드 authorized_keys에 내용추가)

------ 버추얼박스 ssh 접속 이후 접속키파일 생성(필수는 아님, 건너띄고 나중에해도 됨)------

 

- 도커기반 AWX설치시 필수 SW설치

sudo yum -y update

sudo reboot

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

sudo yum -y install epel-release

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

sudo yum -y update

sudo yum -y install ansible python-pip (앤서블 설치)

sudo yum -y install docker-ce (도커설치)

sudo systemctl enable docker

sudo systemctl start docker

sudo pip install -U docker-py

sudo pip install --upgrade pip

sudo pip install docker-compose==1.9.0

- 앤시블 플레이북 으로 AWX설치

sudo yum -y install git

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

 

cd awx/installer

vi inventory

postgres_data_dir=/var/lib/pgdocker (경로변경-재부팅시 수정값을 저장하기 위해서)

#project_data_dir=/var/lib/awx/projects (주석해제)

ansible-playbook -i inventory install.yml -b

- 리눅스 방화벽 제거

sudo systemctl disable firewalld

sudo systemctl stop firewalld

sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config

sudo setenforce 0

curl http://controller/ 또는 http://192.168.56.100/ (리눅스 로컬에서 작동확인)

- 웹브라우저 접속 (버추얼박스 밖 윈도브라우저에서...)

http://controller/ 또는 http://192.168.56.100/ 

- 작업완료 후

exit

D:/ansible/vagrant halt (버추얼박스 파워끄기- 이 후에 재 기동시 vagrant up 하면, 도커는 실행 중인 상태로 있기 때문에

http://192.168.56.100 또는 http://controller/ 로 바로 접근 가능함.)

 

이후 AWX를 사용해 보아야 합니다. 작업 순서는 아래와 같습니다.

02_awx_인증서생성.JPG

03_awx_인벤터생성.JPG

04_awx_템플릿생성.JPG

05_awx_프로젝트생성

 

Ps. 참고자료

- Vagrant 박스를 삭제 할때

D:/ansible/vagrant destroy -f

- 도커 컨테이너를 초기화 시킬때

sudo docker stop $(sudo docker ps -a -q)
sudo docker rm $(sudo docker ps -a -q)

 

Ps2. 포스트그레스 PostgreSQL DB 설치 및 ERD만들기

- 설치 기술 참조: nittaku.tistory.com/415

- ERD 만들기 기술 참조 blog.daum.net/geoscience/1102

Vagrantfile
0.0MB

관련글 더보기

댓글 영역