본문 바로가기
교육

[Ansible/Vagrant] 정리 1

by ballena 2021. 9. 12.

중점은 Ansible이다. Vagrant는 앤서블 실습 시 인프라를 빠르게 만들고 없애기 위한 도구일 뿐이다.

즉, 베이그란트 설정은 굳이 외울 필요 없다. 

 

실습은 베이그란트 - 앤서블 - VirtualBox의 연계로 진행한다.

 

앤서블은 시스템/인프라/노드를 어떻게 구축할 것인지에 대한 내용인 '레시피'를 '플레이북' 파일에 작성해서 실행할 것이다.

-> 플레이북 파일은 yml 확장자를 사용한다. 야믈(YAML)이라고 한다.

 

--- 로 시작해서, 블럭 단위로 작업할 시스템을 구분한다. hosts로 지정.

작업명을 작성하고, 모듈명과 명령어를 작성한다. 공백 하나하나에 굉장히 민감하니 주의

 

쉘 모듈 예시

- name: shell module example 1

  shell: "명령어"

- name: shell module example 2

  shell: "{{ item }}"

  with_items:

    - "명령어 1"

    - "명령어 2"

 

yum 모듈 예시(CentOS는 yum, Ubuntu는 apt)

- name: yum module example 1

  yum: name=패키지명 state=***

- name: yum module example 2

  yum:

    name: 패키지명

    state: ***

 

-> 설치한다면 state=present, 삭제한다면 state=absent, 최신 버전 설치는 state=latest

 

blockinfile 모듈 예시 : 특정 파일에 내용 추가

- name: blockfile example

  blockinfile:

    path: 파일경로

    block: |

      파일에 추가할 내용(여러 줄 적어도 무방)

 

-> block: |2 이런 식으로 숫자를 넣으면 삽입 앞에 숫자 개수만큼 공백이 들어간다.

 

 

모듈의 종류는 다양하다. 물론 자주 사용하는 것은 정해져 있겠지만 하나하나 알아두기는 좀 그렇고...

대충 

모듈명: 

이렇게 시작해서 어찌저찌 작성한다는 것만 알아두면 될 것 같다.

 

 

 

Vagrant

VirtualBox와 연동되어 인프라(VM)을 빠르고 간편하게 생성하고 삭제할 수 있다.

얘는 굳이 따로 정리 않고 했던 기록들이나 다시 보자.

 

 

 

 

 

 

댓글