2017년 12월 12일 화요일

[Ansible] 은하계(galaxy)와 앤서블의 관계는?

은하계라고 하니까 거창한데요
지금까지 배운 것들이 모여 있는 공간 그것을 앤서블에서는 은하계 즉, 갤럭시라고 부릅니다.

원래 은하계도 이와 같이 엄청 많은 별들과 암흑물질 , 그 사이에 성간 물질이라고 불리는 애들 등 여러가지들이 모여 있죠

Image result for 은하계 구성

그런 것처럼, 앤서블에서는 이런 애들이 모아 놓은 공간을 갤럭시라고 부르고, 실제적으로 바로 쓸수 있는 것들을 공유 할수 있도록 해줍니다. 그게 어떤 거냐구요?

롤롤롤 이죠 .

이제 알겠죠 왜 템플릿을 하고 롤을 배우고 했는지...다 미래를 내다 보는....ㅎㅎㅎㅎ -_-;

Related image
(이러진 마세요오;;;;)

여튼 각설하고 이걸 어떻게 사용할까요?
이미 앤서블을 설치했다면 이미 모든 것은 아니...정확하게는 거의 다 준비되어 있습니다.

무슨 말이냐면 말이죠
명령어는 ansible-galaxy라는 명령어고 해당 명령어를 치면 아래와 같이 사용법이 주루룩 나오게 되는거죠




하지만 그런데, 여기서 바로 명령어를 친다면 아래와 같은 에러를 만나게 됩니다.


왜냐...앤서블 갤럭시는 아직까지는 read-only라는 개념보다는 계정 자체를 (단독 계정 또는 github계정 , 그 외에도 다른 계정 가능) 권한을 주고 다운로드도 하고 올리고 하는 것을 추구하기 때문입니다. 이건 제 생각에는 수정이 필요하지 않을까? 싶기도 하네요 
다운만 하고 싶은 사람도 로그인을 해야 한다니~ 이건 좀.....틀리면 얘기해주세용 :)

추가(2017-12-13) : 직접 git에서 다운 받는 옵션이 있는데, 테스트가 필요하지만 이건 될 겁니다 정말 그냥 다운로드 하는거라서요 :) 

여튼 그래서 로그인을 하고 나면 이제 사용할 준비가 된겁니다. 



아래와 같이 최소한 에러는 안 나오게 되는 거죠~!



이런 다음에 nginx에 대한 패키지인 (구글에 검색하면 제일 상단에 나오는) geerlingguy.nginx 를 설치할 겁니다.



이거 이름이 이상해 보일수가 있는데 왜 이런식으로 구조화 되어 있냐면...
생각해 봅시다. sysnet4admin 이라는 사람도 nginx 롤을 만들어서 공유하고 master라는 사람도 nginx를 올려서 공유한다면 이 두 사람을 구분해야 겠죠?

왜냐면 여긴 자유롭게 롤을 공유하는 공간이니까요 그래서 사용자 이름이 꼭 앞에 붙습니다 :)

geerlingguy가 사용자 이름이 되는 거죠.

사용법은 놀랄만큼 간단합니다.

Image result for 놀람 짤
(이러지 마시구요;;;)

그냥 실행하면 그동안 실행했던거와 달리 에러가 납니다.
왜 일까요오?



힌트만 드리겠습니다~~(아마 다 아실 -_-;;)
/etc/ansible/roles는 permission이 제한이 있습니다 ~!

여튼 그래서 sudo를 붙이고 다시 실행합니다. 아니면 루트 계정으로? 해도 되고요


쓰는 사이에 벌써~ 끝났습니다. 아주 쉽게 성공했네요.

그럼 이게 끝일까요?
아니죠..이건 그냥 롤만 다운로드 및 압축 해제된거고...(엄밀히 따지자면..)



이제 이걸로 노드들에 설치를 하는 단계가 필요합니다.
어려울까요~~?
아니죠 기존에 썼던거에 롤 이름만 바꿔주면 됩니다. 아주아주 간단하게요

[ geerlingguy.nginx.yml ]

1
2
3
4
5
6
7
---
- name: Install nginx on the nodes by geer
  hosts: nodes
  become: yes

  roles:
    - role: geerlingguy.nginx


결과를 볼까요?



엄청 쉽지 않나요? 한번 실습해 보시면 정말 깜놀 하실거니다.
그렇다면, 그간 고생한게 아까우신가요? 아닙니다 그동안 고생을 했으니 이게 쉬운겁니다 :)
그러니 좀더 재미난 것을 더 같이 해봅시다~!
이번엔 여기까지 빠잉 :)


1 개의 댓글:

  1. 앤서블 포스팅 잘 봤습니다 감사합니다.
    쭉 훑어보면 앤서블 갤럭시까지 쉽게 이해가 가능하네요.

    답글삭제

 
Copyright © . 쿠버네티스 전문가 블로그 - Posts · Comments
Theme Template by BTDesigner · Powered by Blogger