2019년 12월 9일 월요일

이놈에 블로그스팟....(댓글 씹어서 죄송...)


언제부터인가...

블로그에 누군가 댓글을 달아도 나에게 통보가 안온다

워낙스펨이 많아서 승인후 댓글로 설정했고

슬쩍 보기는 하지만 되도록 답글은 남기려고 하는데...

오늘 보니 몇개가 쌓여있다...한달전에 질문한거....

씨바이거뭐야....

설정을 이잡듯이 뒤지다가 찾았다

검토요청을 보낼 이메일주소가 비어있다....  뭐냐.... 절대 내가 지운거 아니라고....

몇달전까지만 해도 통보 잘 왔었는데 ㅠ.ㅠ




댓글 씹힌 Unknown S 들에게 심심한 위로의 말씀 전한다

졸라 미안해요.....

메일 확인했다 이제 통보 메일 보내라 구글!!!


Ansible 편하게(?) 사용하기 AWX

2019년 1년간 Ansible의 운영플렛폼인 AWX를 백그라운드 프로젝트로 진행하면서 꽤나 공부가 되었다.

!! 백그라운드 프로젝트
일과 관련없는(?), 시킨거말고, 내가궁금한걸로, 몰래할수 있는, 한해 내에 뭔가 만들 수 있을것 같은걸로..... 그런걸로 년말에 선정해서 일년동안 그냥 시간날때 마다 해보고 정리해본다. 직장 생활이란게 원래 계속 일이 있기 때문에 내 경우 중간중간 관련 없는일을 해서 리프레시하지 않으면 지겨워서 못산다

특히나 회사에 서버가 많은 덕분에 이런저런 작업에 써먹어 볼 수 있었고  혼자 VM띄워서 해보기 힘들것들도 쉽게쉽게 접근이 가능했다

그러고보면 중소기업에서 일하는게 좋은면도 있었지만 리소스면에서는 아무래도 부족한 지라 지금 회사에 몸담게 된것이 운이 억수로 좋은 것 같기도 하다

일년 공부한걸 정리하자는 생각에 회사에서 년말 맞이 기술자랑질 대회를 한다길래 숫가락을 올려보았다

다른 사람들 글을 보니 좀 부끄부끄 하지만.... 그럼 뭐 어때 그냥 하는거지

그렇게 또 이불킥 발사할 글이 인터넷에 올라가게 되었따..

프로비저닝 자동화를 위한 Ansible AWX 1부



프로비저닝 자동화를 위한 Ansible AWX 2부 



2019년 10월 30일 수요일

구멍은 구멍으로 향하게 된다


내가 차를 좀 만지작 거린다고 정비사자격증 이야기를 하고

전자기기 만진다고 전자기기 자격증을 이야기하고

커피 좋아하니 바리스타 자격증있냐고 물어보기도

IT쪽 하니 뭔뭔 자격증 이야기를 한다

20대 후반인가?

MCDBA인가 엔지니어인 MCSE에 DB관리자 자격이 합해진 걸 함 따보고

내가 뭔 짓인가 싶었다 요즘은 좀 잠잠하지만

당시에는 왜 그런지 자격증 열풍이 있었고 거기에 합류한 내가 꼴보기 싫었다

사실 공고를 졸업하면서 자격증만 5개 였다(전자기기,음향영상,무선전파....등등)

살면서 이쪽으로 쓸려갈 뻔 한적이 한 두번이 아니다

이후에는 모든 자격증 이라는 것에 염증을 느꼈다

하도 니놈 학력이 쓰레기라 못쓰고 돈 못 주겠다고 지랄들을 하길래

장장 3학년 편입해서 4년동안 경영정보, 인사정보, 경영학  수업만 잔뜩 듣고는 

사이버대 졸업장도 받기 실어서 학점 꽉 찼는데 졸업논문을 안내버렸다

살다보면 뭔가 빽이나 자격증따위를 가지고 있어야 마음이 편해지는것은 동감하지만

그런 것들이 보통 인생의 구멍이다

지금 하는 것을 잘 하기 위해 하는것은 말할 바 아니지만
(잘 하는걸 뭐하러 자격증 따위로 돈 시간을 낭비하나 더 열심히 하지)

IT하는 놈이 웬 정비사냐

취미로 하는 바리스타는 알겠는데 뭔 이상한 자격증이야?

살다가 가끔 위기도 오고 잘 안 될때도 있다

이런 취약한 시기에 이런 구멍들은 내 인생을 바꿔버릴 수 있다

그게 좋은 거 아니냐 할 수 도 있겠지만 내 생각에는 그런 구멍이 인생을 빵꾸나게 하는게 아닌가 싶다


하고 싶은 것을 하고 사는것이 쉬운일이 아니기에

할 줄 아는것으로 벌어먹고 사는 인생이란게 손쉬운 선택이 되는게 아닌가

그런 구멍은 있을 필요가 없다고 생각한다는

하고 싶은 것을  잘 하고 살자

2019년 10월 7일 월요일

상대적 박탈감 세번째 주절주절

요즘 시위를 보면서 몇 가지 다시 상기되는 생각이 있어서 적어본다




이번 행사에 참석한 사람들에 대한 여러가지 기사들과 정치인들의 발언을 접한다

현 야당의 등신들 과 쓰레기들 덕분에 빨갱이 호칭에, 깡패 호칭까지 부여 받은것 같다

장작 고맙게 생각한다

여하간

시위에 처음 참석한 사람

명박산성부터 세월호의 시기를 거쳐 박근혜를 몰아낸 사람들의 참여

그리고 하나의 논조로 나오는것이

박근혜탄핵때는 함께 했지만 이번 집회는 수긍할 수 없다는 부류가 있다는것이다

내가 바라보는것은 마지막 부류이다

그들의 이야기를 인터뷰한걸 보면

<<
직장인 박아무개(31)씨는 “부자든 빈자든 입시제도 앞에서만큼은 누구나 평등함을 보장받는다는 믿음이 있었는데, 이번 조국 사태가 ‘사실은 그렇지 않다’는 걸 알려주면서 그 믿음이 깨졌다”고 말했다

직장인 신아무개(30)씨는 “따뜻한 개천을 만들자던 사람이 붕어와 가재, 개구리를 비웃은 느낌이라고 해야 하나”라며 “자녀 입시 특혜 논란에 ‘모른다’고 일관하는 모습이 실망스러웠다. ‘용의 세상’에서만 살아온 이의 관성적 무지 같다”고 지적했다.

원문보기:
http://www.hani.co.kr/arti/society/society_general/912205.html?_fr=mt2#csidxf81862b70b82f00809974c979350a1f
>>

뭐 이런거다

한겨레 이 잡너럴 세끼들은 날이 갈수록..... 흠...흠....진정하고...

이것을 "상대적 박탈감" 이라고 표현했다

맞다 이 박탈감은 항상 무조건 문제가 맞다

망하는것도 흥하는것도 이 박탈감이 일부 관여하게 된다



자기 직장의 규모는 생각하지 않고 대기업 친구와의 연봉을 비교했을때 상대적 박탈감이 있다

죽어라 뺑뺑이 돌고 놀시간에 못놀고 공부해서 성적 잘 나오는애들보고 공부 못하는 나는 박탈감이 있다

예쁘고 멋진 여친 남친이 있는 친구를 보면서 느껴지는 박탈감이 있다

부모가 돈이 많아 좋은집에 사는대 놀러 갔더니 느껴지는 박탈감이 있다

잘 사는 유럽나라 갔더니 도로에서 멀찌감치 서주는 그들을 보면서 우리나라 개좋은줄 알았는데....느끼는 박탈감이 있다

수백년된 건물을 유지하면서 관광으로 돈을 버는 나라들을 보면서 아파트에 사는 나에게 박탈감이 든다


이런 박탈감의 기저에는 "비교"가 있다

이 비교라는것은 항상 비교대상이 있어야 가능한 행위이고 이 비교를 통해

우리는 발전할 수 도 좌절의 구렁텅이 빠질 수 도 있다

나도 저 정도는 할 수 있다는 자신감을 가지고 노력을 해야 할 터인데

한번 주저앉은 직장에서 퇴직하면 다음달 카드 빵꾸가 걱정되어 퇴직 못하는 사람이나

내머리는 부모닮아 멍청하다고 해도 안되는걸 어쩌냐고 징징거리는 애들이나

아침에 거울은 안보는지 지 애인 못난것만 생각하는 등신이나

지가 열공해서 존직장, 존사업해서 돈벌고 성공할 생각은 못하고 돈있는사람 돈쓰는거 보면서

친하면 부러워하고 멀면 비난한다

앞 세대는 바닷모래넣어서 10년이면 금가는 아파트에 인생을 갈아넣어 돈으로 환산하는 삶을 살았고

이제는 방사능과 발암물질 범벅의 아파트에 인생과 가족을 갈아넣어서 행복을 얻는고자 하는데

지는 전세끼고 하나뿌니 집이 없는데 몇놈이 수십 수백채 가졌다고 부러워하거나 쌍욕을한다

술자리에서는 차, 집 이야기 뿐이고 은근슬적 돈자랑 하느라 술자리도 지저분하다

잘사는 기준이 "금전"이고 내가 안되는 이유는 다 외부의 무엇인가 때문이라고 생각하는

이런 병신들 말고도


종교에 귀의하는사람도 있다 이사람들의 특징은 "박탈감"의 원인이 나에게 있다는 말 한마디에

위로받고 상처가 치료되는 기분이 들어 주변의 양때들을 모아 우리가 잘해서 세상을 바꿔나가려고 노력해보자고 한다

그런다고 세상이 바뀌냐는 말에 화들짝 놀라며 자기는 그런생각없다고 이게 맞는일이니까 하는것이라고

맞다 그게 맞다 맞는 일은 그냥 다들 알아서 하는것이다

친환경에 쓰레기 분리수거하고 퐁퐁 안쓰면 세상이 구원되나

하나님에게 기도하고 십일조에 행사때마다 고맙다고 헌금하면 세상이 변하나

그런 사람들 모아서 다들 함께하자고 할 시간에 원인을 해결할 생각을 왜 하지 않는지 나는 이해하지 못한다

법륜스님 말씀 참 좋기는 하지만 가끔 지칠때 힘되라고 하는말이지

맨날 모여서 서로 위로하면서 늑대밥이 될때까지 주저앉아 있으라는 말이 아니지 않나

자기를 희생해서 세상을 복되게 하려는 오만함이 자신의 주변사람들에게 얼마나 힘든일이고

그로 인해 겨우 도움 받았을 몇명보다

훨씬 더 많은 사람이 더 오랜시간 고통받을 수 있다는걸 알면서 왜 개선하지 않는가

좋은 세상은 개개인들이 독립적으로 존재하고

필요할때 남을 도울 수 있는 힘이 있을때 만들어지는게 아닌가

독립된 인간에게 "상대적 박탈감" 이란 말은 의미없는 단어가 아닐까

부모에게 독립하지 못한 자녀

회사에서 독립하지 못한 직원

종교에서 독립하지 못한 신도

자신에게서 독립하지 못한 자아

성숙하지 못한 자가 벌리는 일들이

얼마나 많은 사회 부조리와 문제를 일으키는지 알고 있지 않는가

어렵고 힘든시간을 스스로 버텨내고

힘들때는 가끔 위로 받아가면서

튼튼한 맨탈과 건강한 가빠를 만들기에도 바쁜데

생각없이 결혼하고, 생각없이 애낳아기르고

생각없이 학교다니고, 생각없이 직장에 취직하고

생각없이 후배를대하고, 생각없이......

생각없어 힘든인간에게 위로는 도움이 아니라 독이아닌가.....

물론 종교는 이 생각없는자들이 계속 생각을 안해야 장사가 되겠지만....

생각할 시간을 주라고.....

그 세끼들도 경험을 해봐야 뭘 알꺼아니냐고

자꾸 설명하고 알려주면 개뿔이 아나?



"상대적 박탈감"

이것을 어떻게 이해하고

그것을 에너지로 사용할지

아니면 내가 병신같은 이유로 삼을 지는 개인의 선택이겠다

하지만 더이상 자기탓을 하고 살지 말자

스스로를 탓을 하기에는 우리가 너무 멍청하게 열심히 살았다



2019년 10월 2일 수요일

헤놀로지 USB 교체

NAS를 자작해서 쓰는데 헤놀로지를 사용한다.

USB는 언제인지 기억도 안나지만 예전에 어디선가 받은 센디스크 USB 512M짜리...

이게 그당시에 유행하던 엄지손가락 만 하면서 밀어서 USB 단자를 꺼내는 형식인데

자작 NAS는 ITX 보드로 만든 PC라 뒤쪽에 꼽아 둔형태로 사용중이였다

문제는 가끔 손볼일이 있거나 옆에 PC를 손댈때 이게 걸리적 거리는거다

얼마전에는 확 꺾여서 정말 USB 단자 맛가는줄 알았다는....

그래서 요즘 흔한 손톱만한 USB를 구입했다   센디크핏 이라고 한다

최신버전은 USB 3.1속도까지 지원하고 용량도 어마어마 하지만

헤놀로지 자작 NAS에서 USB의 역할은 부팅하고 정보를 DISK에 설치된 DSM으로 넘기게 되므로 용량크고 빨라봐야 1도 필요가 없다

오히려 호환성 문제가 생길까봐(그냥 걱정에)  2.0 버전으로 구입했다

제품명은 Z33 Fit 16GB   2019년 현재 배송비포함 8천원정도 한다

기존의 USB를 이미지 복사하듯이 하면 좋겠지만   이걸 이미지 복사하는 방법을 모르겠다. 디스크 복사 프로그램으로 복사를 해봤는데 뭐가 문제인건지 부팅이 안되는...

그래서 그냥 설정만 업데이트 해서 다시 만들기로 마음먹었다

헤놀로지 부팅용 USB는 예전에는 img 파일을 USB에 프로그램으로 구워넣고 grub(linux의 부팅정보 파일 정도로 이해하자)를 직접 수정할 수 있었는데 요즘 PC에서는 파티션이 아에 보이지를 않는다

그래서 이미지를 가상으로 디스크로 마운트 해주는 프로그램(OSFMount)을 써서 드라이브로 연결한 다음 grub.conf 파일을 열어서 필요한 부분을 수정하고 저장후

Win32DiskImager라는 프로그램으로 이미지를 USB에 구워주면 끝난다

이미 헤놀로지를 구축해서 사용하다가 USB를 변경하는 경우이므로 상세한 내용은 패스다....  (아...불친절.....귀찮... 사실 이 글도 내가 기억하려고 쓰는거라는 쿨럭~!)

핵심은 grub.conf에 USB의 벤더정보와 USB제품정보를 넣는 부분이 있는데 이게 코드형식으로 되어 있어서 정보를 USBviewer로 조회해서 해당 정보만 변경하면 되겠다

아래는 실제 작업내용이다.



1. usbview.exe 실행해서(아래에서 util 폴더안에) 대용량 저장장치의 PID VID 확인
https://www.uwe-sieber.de/usbtreeview_e.html#download

PC에 USB를 일단 끼우고 프로그램 받아서 그냥 실행 하면 PC에 연결된 모든 장치가 목록으로 나온다
그중에서 "대용량 이동식 저장장치" ??? 뭐 이렇게 된걸로 찾으면 된다.

나의 경우 아래 처럼되어 있다.
idVendor:           0x0781 (SanDisk Corporation)
idProduct:          0x5571

2. OSFMount 설치
https://www.osforensics.com/tools/mount-disk-images.html
windows10에서는 linux 파티션이 보이지 않으므로  USB에 굽기전에 image 자체의 내용을 변경해서 USB에 구워야 한다.

3. OSFMount로 synoboot.img를 연다
!! 처음 헤놀로지 구성시에 사용한 img를 사용해야 한다.  이 작업전에 내가 몇 버전으로 구축했는지 찾아서 다운로드 받도록 하자
!! 내경우 juns-mod-1.02b-ds3615를 사용했다. 이건 사람마다 다르니...잘 기억해 내길 기대한다.
!! https://xpenology.club/downloads/  사이트를 참고하세요

열때는 첫번째 15M 파티션을 선택하고  readonly를 뺀다(그래야 수정한걸 저장할 수 있다)
내경우 예전에 설치시 이미 이 파일은 수정되어 있다.
시리얼넘버, NIC 2장/MAC,  VID PID 등이 설정되어 있다

다른건 의미없고 USB만 바꾸는것이라면  위의 VID PID만 변경하고 저장한다
OSFMount에서 언마운트선택해서 빠져나온다

4. Win32DiskImager 로 이미지를 굽는다.

5. 원래 USB가 있던 포트에 끼운다

6. BIOS에서 부팅순서를 확인한번 하고 저장한다.
이미지 쓰기시에 파티션을 두개로 나누어서 앞쪽에는 windows에서도 보이는 파티션이지만 여기에는 부트 이미지가 들어있다 
BIOS에서 USB가 두개로 나올껀데 그중 첫번째 UEFI파티션을 선택하자

7. 처음부팅하면 복원을 한다.  날라가지 않는다 쫄지 말자
켜고 1분정도 있으면  PC의 브라우져로 접속할 수 있다. (해보신분은 알겠지만 헤놀로지는 부팅한다고 본체에 연결된 모니터에 뭐가 나오는게 아니다 켜고 기다렸다가 다른 PC에서 브라우져로 접속한다

http://당신NAS의IP:5000
!! 잘 모르겠으면 인터넷에서 SynologyAssistantSetup을 찾아서 설치하면 이 툴에서 LAN에 있는 헤놀로지를 찾아서 접속할 수 있도록 도와준다.....
자작 NAS를 쓰고 있다면 이미 IP와 포트는 기억하고 있을듯 하지만

로그인 정보가 나오는게 아니라 복원버튼이 나온다

쿨하게 복원 버튼을 눌러준다  금방 지가 혼자 리부팅한다

USB는 부팅만 책임지므로 내용이 날라가지 않는다 .  쫄지마 씨바....

2019년 9월 9일 월요일

AWX(Ansible worker) 설치 방법




  1. AWX 설명 
    1. 기존  비정형 자동화 스크립트들 (shell,perl,python...etc)을 Automation에 방점을 찍어 기능의 모듈화(정형화), python 기반 + yml(야뮬,YAML Ain't Markup Language)을 적용하여 자동화를 지원하는 언어로써 Ansible이 있다.
      이 Ansible은 그저 언어 형태를 가지기만 할 뿐 실제 스크립팅(playbook제작)은 사용자 몫이며
      작은 단위의 실행에서는 CLI형태(Ad-hoc)로 작업이 가능하지만 Enterprise 영역에서
      사용자마다 권한 설정, SCM관리, 병령, 분산처리, 실행결과 로깅, 등등의 필수적인 기능은 제공되지 않으므로
      직접 구현해야 하는(배보다 배꼽이 크다)형태라 이 부분을 제공하는 제품으로 Ansible Tower라는 제품을 Redhat에서 제공(판매)한다. 
      (레드햇은 Ansible, Inc를 인수했다. ansible org 역시 메인 서포터는 레드햇)
      이 Ansible Tower의 OSS 버젼이 AWX(Ansible Worker)이다.
      OSS라면 기능의 차이는 어떨까 레드햇 의 OSS를 Enterprise로 전환 방법과 비지니스 모델은 거의 모든 제품에서 유사하다
      Software이므로 쉽게 설명하면 CentOS와 RHEL을 비교하면 되겠다
      두 개의 차이는 거의 없으나 CentOS는 빠르게 업데이트가 반영되는 반면 안정성이나 지원이 부족하고
      RHEL은 CentOS의 Stable버젼으로 판단되는 시점에서 별도 브렌치되어 개발(보안,특화기능추가) 배포 되므로 서브스크립션을 구입하면 지원과 업데이트 등이 가능해 진다.
      각설하면 기능은 다 되는 것으로 판단할 수 있다.(클러스터 등 몇몇 주요 기능은 2019년 Q1 현재 구현되지 않았다) 하지만 상용 버젼으로 패키징하는 단계를 거치지 못했기 때문에 여러모로 부족한 부분이 있다.
      (예를 들어 초기 만 해도 설치 스크립트가 없어서 yml을 직접 수정 작성해야 했다)
      안되면 게시판을 전전해야 하는 것은 OSS버젼을 쓰는자의 숙명?인듯 하다...... 
    2. 오해 하지 말아야 할것
      1. AWX는 platform만 제공한다.
        1. 말 그대로 AWX는 플렛폼이다. 템플릿팅을 지원하고 로그, 권한 관리등...이 글을 읽고는 바로 와 닿지 않으 수 있지만 기업에서 사용하기 위한 여러가지 기능을 별도의 개발없이 사용할 수 있도록 지원한다 
        2. 예를 들어 awx의 로그를 elastic search에 연동해서 kibana에서 조회하고 싶다면 AWX의 logging 기능에서 logstash로 직접 log를 발행해주는 기능을 사용할 수 있다.
        3. 다만 실제 제어를 위한 부분은 사용자가 개별 개발해야한다. 과거 티볼리나 HP 자동화 솔루션을 접해보거나 데모를 봤다면 "AWX가 알아서 뭔가해주는거아니야?" 하겠지만 어림 1도 없다. 모든 제어는 사용자가 yml형태의 code를 짜야한다.
        4. 물론 이 부분에서 ansible 갤럭시라는 이미 여러 케이스의 기능에 대한 샘플을 볼 수 있지만 내가 필요한 것 보다 과도하게 코드가 복잡하거나 여하간 수정하지 않고 그대로 쓰기에는 문제가 있다. 그래도 그것만 해도 대단한거다 쌩으로 다 짜려면 쓸대없는 시간이 많이 날아 간다...특히나 띄어쓰기와 오타....
        5. redhat 세일즈나 파트너사에서 이야기 하듯이 무지 쉽지않다 오해 하지말자, 다시한번 말하지만 알아서 해주는 부분은 "ansible을 개발하는 개발자가 기업에서 사용하기 위한 환경"에 대해서 도움을 주는것이다. 
        6. 말이 좀 그렇지만 그렇다고 뭐 엄청 어려운건 아니다 셈플 몇개 보고 해보면 금방한다. 오히려 개발해 본 적이 없거나 자신의 PC에 IDE 환경이 만들어져 있지 않다면 그런 환경을 구성하는데 시간을 더 보낼지도 모르겠다.  기존 개발을 위해 atom, eclipse,intelliJ 등의 IDE 환경이 구성되어 있고 git에 code pull/push 할 줄 아는 정도의 시본 스킬이 필요하다
        7. 특히나 시스템업무를 주로 하면서 vi가 지상최강의 editor라며(인정!) 일을 하시는 스크립트 장인분들은 초반 접근이 무지 귀찮을 것이다.  
        8. 세상이 변했다 devops건 SRE이건  장비쟁이가 코드모르거나  개발쟁이가 시스템 모르면 일하기 개 빡신세상이다. 공부해라 공부해서 남줘라
  2. AWX 설치
    1. Pre-Install 
      1. add docker repo
        awx는 docker기반으로의 배포만 지원한다. openshift와 kubernetes환경도 지원하지만 automation을 위해 그런 제품을 사거나 환경구성을 위한 공수를 들이기는 오버이지 싶다
        # yum-config-manager --add-repo https://download.docker.com/linux/centos/docker-ce.repo
      2. Install docker
        OS에 docker를 구동하기 위한 환경을 구성한다 
        # yum -y install docker-ce
        # systemctl enable docker
        # systemctl start docker
      3. Install Ansible & pip & docker compose
        AWX를 쓰는것 자체에서는 필요없겠지만 ansible로 제어를 하려다보면 가끔 python module을 사용해야 할때가 있다. 이때를 위해서 pip를 설치한다.
        # yum -y install ansible python-pip
        # pip install --upgrade pip
        # pip install docker-compose --ignore-installed
      4. vmomi(VMware Managed Object Management Interface) - need for vMware control
        옵션이다  vmware를 자동화 하기 위한 모듈로 이런것도 설치해서 쓴다는 정도만 알고 있으면 되겠다. 필수사항이 아니다.
        #pip install pyvmomi

      5. pip module - some lib is need upgrade
        돌리다보면 ansible version마다 사용하는 python module이 버전이 낮은경우 문제들이 발생하는 경우가 있다.  특히나 url module등에서 많이 발생하는데 이런 경우 아래처럼 설치하거나 업그레이드 해서 회피 가능하다. 
        pip install requests urllib3 pyOpenSSL --force --upgrade
    2. official awx clone
      여기서 부터가 실제 AWX를 설치하는 부분이다.
      1. opensource awx not support HA
        AWX를 그냥 받아서 쓰면 SSL도 안되고 HA도 안된다 이 문서에서는 그 부분을 다루지 않는다....시간나면 써보겠지만.... 여하간 좀 찾아보면 할 수 있기는한데 ......(세상에 안되는게 어디있나  사람 갈아넣으면 다 되지....ㅠ.ㅠ)
        소스를 받아서 로컬에 저장한다  -b 는 해당 git 에서 특정버전을 지정한다. 지정하지 않으면 최신버전이 내려온다
        cd /tmp
        git clone -b 6.0.0 https://github.com/ansible/awx.git
    3. make install script
      1. file :  /tmp/awx/installer/install.sh
        그냥 손으로 돌려도 되지만 한방에 설치되리라는 보장이 없다 할때마다 타이핑 치기 귀찮아서 shell 파일 하나 만든다.
        cd /tmp/awx/installer
        vi /tmp/awx/installer/install.sh
        >>
        ansible-playbook -i ./inventory ./install.yml
        <<
        chmod 755 install.sh
    4. edit config 
      1. file : /tmp/awx/installer/inventory
        이건 취향에 따라 다른데  기본값으로 설치해도 된다. 그런경우 저장되는 위치가 여기저기 흩어지기 때문에 내 경우 /data 파티션을 하나 만들고 그 아래에 몰아 넣도록 했다
        dockerhub_version= 은 이걸 지정하지 않으면 최신 버전의 docker image르 받아오므로 위체 clone할때 지정한 버전과 같도록 해준다
        위에서 지정을 하지 않았으면 최신버전이므로 inventory에도 지정하지 않으면 최신 이미지를 받아온다 
        dockerhub_version=6.0.0
        postgres_data_dir=/data/pgdata
        docker_compose_dir=/data/awxcompose
        project_data_dir=/data/projects
      2. make folder
        AWX의 데이터는 docker로 구동되는 pgsql DB에 저장된다. 이 저장소가 docker container에 저장될 수 는 없으므로 local disk의 어딘가 저장되며 나의 경우 위에 inventory 설정에서 /data/pgdata 라고 지정했으므로 해당 폴더를 만들어준다.
        mkdir -p   /data/pgdata
        #other folder is auto create
    5. install  and check
      1. path : /tmp/awx/installer/install.sh
        이제 별 문제가 없다면 installer를 돌려준다.
        ansible log가 화면가득 떨어질것이고 문제가 있다면 에러를 내고 떨어질것인데...
        문제를 해결하고 중복해서 여러번 돌려도 걱정하지 않아도 된다
        설치 스크립트 자체가 ansible이기 때문에 여러번 수행해도 별 문제 없다.   돌리고 에러나면 처리하고 다시돌리고....또 돌리고...될때까지 돌리자 ㅋㅋㅋ
        cd /tmp/awx/installer
        ./install.sh
        .....
      2. connect awx (web browser)
        처음 설치되고나면 docker가 기동되고 DB에 기본 schema생성을 위해 1~2분 정도 소요된다. 물론 서버의 성능에 따라 천차만별이겠지만...
        아래 URL로 접속해서 뭔가 화면에 나오고 화살표가 빙글빙글돌고 있다면 속편하게 기다리자 
        1. http://${IP_ADDRESS}
        2. default ID/PASS : admin / password
    6. 기타
      1. 설치하고 아무것도 안나오고이상하다면 아래 명령어를 쳐서 docker가 구동중인지 정도는 확인할 수 있다
        1. #docker ps 
      2. docker는 5개가 구동된다.
        1. awx_web : 사용자 UI다 내부는 nginx로 되어 있다.
        2. awx_task : awx_web에서 수신받은 처리를 담당한다. python process로 확인된다.
        3. awx__rabbitmq : 클러스터 구성시 job을 공유하기 위해 사용된다. 다만 awx를 그냥 설치하면 cluster구성이 안되므로 큰 의미는 없다
        4. postgres : awx의 각종정보가 저장되는 RDB이다. pgsql 9.6으로 되어 있다. 10까지는 설치해서 외부 DB로 사용해 봤는데 문제 없이 사용가능하다 
        5. memcached : 걍 케쉬다
        6. # docker ps
          CONTAINER ID        IMAGE                        COMMAND                  CREATED             STATUS              PORTS                                                 NAMES
          5bdb52eadf2d        ansible/awx_task:6.0.0       "/tini -- /bin/sh -c…"   4 weeks ago         Up 2 weeks          8052/tcp                                              awx_task
          4d21608ce7be        ansible/awx_web:6.0.0        "/tini -- /bin/sh -c…"   4 weeks ago         Up 2 weeks          0.0.0.0:80->8052/tcp                                  awx_web
          ce130d98621a        ansible/awx_rabbitmq:3.7.4   "docker-entrypoint.s…"   4 weeks ago         Up 2 weeks          4369/tcp, 5671-5672/tcp, 15671-15672/tcp, 25672/tcp   awx_rabbitmq
          74d79bde7cb9        postgres:9.6                 "docker-entrypoint.s…"   4 weeks ago         Up 2 weeks          5432/tcp                                              awx_postgres
          dd06ffef773d        memcached:alpine             "docker-entrypoint.s…"   4 weeks ago         Up 2 weeks          11211/tcp                                             awx_memcached
      3. log를 보고싶다면
        1. docker 명령어를 좀 배우면 된다.
          1. log : # docker logs -f awx_web 
      4. docker에 접속해서 설정을 보고싶다면 아래 명령어를 사용해서 container의 shell을 실행해서 접근을 할 수 있다.
        1. # docker exec -it awx_web /bin/bash