본문으로 바로가기

1편 - https://defian.tistory.com/entry/Ansible-%EA%B8%B0%EC%B4%88-%EC%B2%98%EC%9D%8C%EB%B6%80%ED%84%B0-%EC%84%A4%EC%B9%98%ED%95%98%EB%A9%B0-%EB%B0%B0%EC%9A%B0%EB%8A%94-%EC%95%A4%EC%84%9C%EB%B8%94Ansible-Ansible-%EA%B0%95%EC%9D%98-%EA%B0%84%EB%8B%A8%EC%A0%95%EB%A6%AC-1

 

[Ansible] "[기초] 처음부터 설치하며 배우는 앤서블(Ansible)" Ansible 강의 간단정리 - 1

https://www.inflearn.com/course/%EC%95%A4%EC%84%9C%EB%B8%94ansible-%EA%B8%B0%EC%B4%88 [무료] [기초] 처음부터 설치하며 배우는 앤서블(Ansible) - 인프런 | 강의 엔서블과 같은 툴을 접해 보지 못한 엔지니..

defian.tistory.com

 

4. 한 번의 명령으로 다수의 시스템에 작업하기

 -shell, user, copy 모듈 사용

  // uptime 확인하기

 # ansible all -m shell -a "uptime" -k

  // 디스크 용량 확인하기

 # ansible all -m shell -a "df -h" -k

  // 메모리 상태 확인하기

# ansible all -m shell -a "free -h" -k

 // 새로운 유저 만들기 => password=1234 로 입력하면 안된다. decrypt 필요 , /etc/passwd 에서 확인

# ansible all -m user -a "name=bloter password=1234" -k

 // 파일 전송하기

# ansible all -m copy -a "src=/etc/resolv.conf dest=/etc/resolv.conf" -k

 

- yum 모듈 사용

 // httpd 설치

# ansible all -m yum -a "name=httpd state=present" -k 

 설치 후 

  # ansible all -m shell -a "yum list installed | grep httpd" -k

 로 확인

 

5. 작업 내용을 파일로 만들어서 반복하기 실행하기

  - Ansible의 특성은 멱등성 (idempotence)

   =>  연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질을 의미한다.

   =>  즉, 변화가 없으면 여러번 적용해도 실행되지 않거나 , 달라지지 않음

 

  - yaml 파일 구성하기 

   * k8s랑 비슷한거 같다.

* name, hosts, tasks 형식으로 구성

  hosts : 적용할 호스트들 ( /etc/ansible/hosts에 그룹으로 되어있으면 그 그룹명을 넣으면 됨)

  remote_user :root 로 할경우 루트 권한으로 실행

  tasks 내에는 여러개 작업을 넣을 수 있음

         - name: 실행될 이름 설정

           그 밑에 모듈 및 argument 설정

- name : 
  hosts:
  remote_user: root
  tasks:
    - name: Add ansible hosts
      blockinfile:
        path: /etc/ansible/hosts
        block: |
             [bloter]
             192.168.1.13
    - name: install epel-release
      yum : name=epel-release state=latest
    - name: install nginx web server
      copy: src=index.html dest=/usr/share/nginx/html/ mode=0644
    - name: Start nginx web server
      service: name=nginx state=started

 

6. ansible-vim 설치

  => 생략

 

7. 에러 로그 줄바꿈 

 - /etc/ansible/ansible.conf 에

    #stdout_callback=skippy 를

    stdout_callback=debug 로 변경

 

 

끝.