Ansible 모듈 정리

권수한·2023년 6월 14일
0

Ansible 사용해보기

목록 보기
3/3

지금까지 사용해보았던 모듈을 정리해보았습니다.


yum

  • 패키지 관리하는 yum 명령어 입니다.
  • yum을 사용하여 패키지의 버전을 선택하여 다운 받거나 삭제 할 수 있습니다.
ex)
- name: install yum package
  yum:
  	name: httpd
    state: latest (or) present (or) .....

file

  • 파일의 소유자, 그룹, 권한 등을 변경 할 수 있다.
  • 파일의 경로와 파일의 이름을 통해 삭제 할 수 있습니다.
  • 파일의 형식(touch)을 정하여 원하는 경로 파일을 생성 할 수 있습니다.
ex) 
- name: file의 own & mode 변경
  file:
  	path: /var/www/html/index.html
    owner: aa
    group: aa
	mode: '0755'

- name: /var/www/html 경로의 index.html 삭제
  file:
  	path: /var/www/html/index.html
    state: absent

-name: 파일 생성
  file:
  	path: /var/www/html/index1.html
    state: touch
    owner: bb
    group: bb
    mode: '0644'

lineinfile

  • 파일의 내용 중 원하는 한 줄의 내용을 변경 할 수 있다.
  • 주의 할 사항으로는 regexp로 지정한 내용이 있는 줄의 전부를 line으로 적은 내용으로 바꾼다.
ex)
- name: 특정 줄 변경
  lineinfile:
  	path: /var/www/html/index1.html
    regexp: 'this line will change'
    line: 'change complete'

=> regexp 의 내용을 line 의 내용으로 바꿔준다.

replace

  • 파일의 내용 중 원하는 '단어' 만 바꿀 수 있다.
ex)
- name: 특정 단어 변경
  replace:
  	path: /var/www/html/wp-config.php
    regexp: 'database_name_here'
    replace: 'wordpress_db'

=> wp-config.php 파일에서 'database_name_here' 단어를 'wordpress_db' 로 바꿔준다.

get_url

  • linux의 wget과 같은 역할을 한다.
ex) 
- name: wget과 같다
  get_url:
  	url: https://ko.wordpress.org/wordpress-5.8.6-ko_KR.tar.gz
    dest: /root

=> /root 경로에 wordpress-5.8.6-ko_KR.tar.gz 파일을 다운 받는다.

unarchive

  • tar, zip과 같은 파일을 압축 해제 한다.
ex)
- name: 압축 해제
  unarchive:
  	src: /root/wordpress-5.8.6-ko_KR.tar.gz
    dest: /var/www/html/

=> src 경로에 있는 tar파일을 압축을 해제하여 dest 경로에 풀어준다.

shell

  • linux에서 사용하는 쉘 명령어를 anisble에서 그대로 사용을 하도록 하는 모듈 입니다.
ex)
- name: shell 명령어 사용
  shell: 'cp /root/wordpress-5.8.6-ko_KR.tar.gz /var/www/html/'

=> 쉘에서 사용하는 명령어를 그대로 ansible의 yaml 파일에서 사용 할 수 있다.

copy

  • 파일을 원하는 경로에 복사 할 수 있다.
ex)
- name: 파일 복사
  copy:
  	src: /root/wordpress-5.8.6-ko_KR.tar.gz
    dest: /var/www/html

=> src 경로의 파일을 dest 경로에 복사 한다.

service

  • linux의 서비스(데몬)을 실행 할 수 있다.
ex)
- name: httpd 서비스 시작
  service:
  	name: httpd
    state: started (or) restarted (or) stoped
    enabled: yes

=> httpd 서비스를 시작한다.
=> (enabled =yes) 서버를 시작하면 항상 시작하도록 설정

systemd

  • linux의 서비스(데몬)을 실행 할 수 있다.
  • systemctl로 동작 할 때는 service보다 systemd가 더 좋다.
ex)
- name: httpd 서비스 시작
  systemd:
  	name: httpd
    state: started (or) stoped (or) restarted
    enabled: yes

=> httpd 서비스를 시작한다.
=> (enabled =yes) 서버를 시작하면 항상 시작하도록 설정

blockinfile

  • 파일의 특정 줄 밑에 or 앞에 원하는 문장을 넣을 수 있다.
  • block: 다음에 "|" 기호나 ">" 를 넣어주어야 한다.
  • "|" 기호는 줄 바꿔서 내용이 나오고, ">" 기호는 한 줄에 나열된다.
ex)
- name: 
  blockinfile:
  	path: /etc/nginx/nginx.conf
    insertbefore (or) insertafter: "listen       80;"
    block: |
    		index	index.php

=> "listen	80;" 이라는 문장 앞이나 뒤에 "index	index.php" 라는 문장을 넣어준다.    

firewalld

  • 방화벽을 열거나 닫아줄 수 있다.
ex)
- name: firewall open
  firewalld:
  	port: 80/tcp
    state: enabled
    permanent: yes
    immediate: yes

=> 80번 포트를 tcp로 열어준다.
=> permanent를 사용하려면 immediate 옵션을 무조건 넣어주어야 한다.

0개의 댓글