YJWANG

[AWX] AWX 19.1.0 구성하기 본문

91.IaC

[AWX] AWX 19.1.0 구성하기

왕영주 2021. 5. 31. 16:25

ansible-semaphore도 한 번 사용해보시기바랍니다.
https://yjwang.tistory.com/205

전체적으로 설치가 느리네요.. 여유를 가지고 설치 진행하시기 바랍니다.
18.0.0 버전부터 발생 중인 BUG가 있어 설치 중 Fix를 진행하니 차례대로 따라 진행해보시기 바랍니다.

awx-operator로 하는것이 훨씬 안정적이네요 docker 위에 설치하면 추가로 설정해주어야 template이 정상적으로 실행됩니다. 비추합니다.

 

References


 

Deployment


Clone AWX git project

# git clone -b 19.1.0 https://github.com/ansible/awx.git

 

Prerequisite

 

(option) configuration 외부 postgreSQL 을 설정해야 하는 경우 아래 파일에서 inventory 설정

# cd awx
# ls -l tools/docker-compose/inventory

 

Move to working dir

# cd awx

 

Fix bug in MakeFile

258 nginx:
259         useradd -g nginx nginx
260         nginx -g "daemon off;"

 

Build Docker image

# make docker-compose-build

 

Check Image

HEAD TAG는 'stable'한 버전이 아니라지만 테스트이기 때문에 가장 최신으로 진행한다.

# docker images
REPOSITORY              TAG       IMAGE ID       CREATED          SIZE
quay.io/awx/awx_devel   HEAD      437c00999e33   52 seconds ago   1.94GB

 

Run Container

--detach , -d 옵션 추가 후 진행

# make docker-compose COMPOSE_UP_OPTS=-d
...
Digest: sha256:1ad9a00724bdd8d8da9f2d8a782021a8503eff908c9413b5b34f22d518088f26
Status: Downloaded newer image for postgres:12
Creating tools_postgres_1 ... done
Creating tools_redis_1    ... done
Creating tools_awx_1      ... done

 

이후 docker logs를 사용하여 migration이 끝나는 것을 확인한다.

# docker logs -f tools_awx_1
...
  Applying sso.0001_initial... OK
  Applying sso.0002_expand_provider_options... OK
if [ "/var/lib/awx/venv/" ]; then \
    . /var/lib/awx/venv//awx/bin/activate; \
fi; \
awx-manage provision_instance --hostname=awx_1; \
awx-manage register_queue --queuename=tower --instance_percent=100;
Successfully registered instance awx_1
(changed: True)
Creating instance group tower
(changed: True)
Superuser created successfully.
Admin password: iONvfqvQ3R3fj7W6
Password updated
Default organization added.
...

 

끝난 이후 UI를 Build 합니다.

이 과정이 시간이 꽤 걸립니다. Memory가 8GB 이상이 아니라면 여기서 Error가 발생할 수 있습니다. (OOM)

# docker exec tools_awx_1 make clean-ui ui-devel
...
Creating an optimized production build...
...
Compiled successfully.

File sizes after gzip:

  597.36 KB  build/static/js/2.96d4a479.chunk.js
  270.9 KB   build/static/js/main.3e3e96ab.chunk.js
  70.56 KB   build/static/css/2.c2130bfd.chunk.css
  46.32 KB   build/static/js/9.1dbecc78.chunk.js
  37.84 KB   build/static/js/6.93250263.chunk.js
  35.24 KB   build/static/js/5.aaf803ff.chunk.js
  35.05 KB   build/static/js/8.8d4d1199.chunk.js
  25.27 KB   build/static/js/3.0fa29a7c.chunk.js
  24.61 KB   build/static/js/4.9d26d09d.chunk.js
  24.61 KB   build/static/js/7.6febdce3.chunk.js
  1.23 KB    build/static/js/runtime-main.40aada50.js

The project was built assuming it is hosted at /.
You can control this with the homepage field in your package.json.

The build folder is ready to be deployed.
You may serve it with a static server:

  npm install -g serve
  serve -s build

Find out more about deployment here:

  https://cra.link/deployment

mkdir -p awx/public/static/css
mkdir -p awx/public/static/js
mkdir -p awx/public/static/media
cp -r awx/ui_next/build/static/css/* awx/public/static/css
cp -r awx/ui_next/build/static/js/* awx/public/static/js
cp -r awx/ui_next/build/static/media/* awx/public/static/media
touch awx/ui_next/.ui-built
make[1]: Leaving directory '/awx_devel'

 

이후 아래 주소로 Conosle에 접속합니다.

https://<Server-IP>:8043

 

(option) Reset an admin user password

설치 과정 log에서 아래와 같이 로그를 볼 수도 있고

Admin password: iONvfqvQ3R3fj7W6

 

아래 명령을 통해서 password 초기화도 진행할 수 있다.

# docker exec -ti tools_awx_1 awx-manage createsuperuser

 

반응형