Ansible로 raspberry pi의 설정을 자동화하자 [2.7 대응]



배경



RaspberryPi를 2대를 물건의 탄력으로 처분하고 다시 구입했습니다.
그 때에 설정이 번거롭고 싶은지 처분하고 재구입할 때 설정이 발생할 가능성이 있으므로
모처럼이므로 자동화해 두려고 생각해 사용해 보았습니다.

ansible/ansible

이번에는 설치부터 동작 확인까지와 개요를 기재

구체적인 사용과 실천은 다음번 이후부터 기재해 갑니다.

쓸 예정
  • Ansible 개요
  • Ansible 시도
  • Ansible의 실용적인 사용 (다음 번)

  • Ansible?



    Ansible(언시블)은 레드햇이 개발하는 오픈 소스 구성 관리 툴이다. 서버를 시작할 때, 미리 준비한 설정 파일에 따라 소프트웨어의 인스톨이나 설정을 자동적으로 실행할 수 있다[1]. 특히 대규모 컴퓨터 클러스터를 구축 할 때 시간을 단축하고 실수를 줄이는 데 유용합니다. 구성 관리 외에도 오케스트레이션 및 소프트웨어 배포 기능이 있습니다 [2].

    위키 보다 인용

    ansible은 간단히 말하면 서버 구성 자동화 도구입니다.
    구성 관리 도구라고 하면 Chef, Puppet을 상상합니다만 그 일각이라고 하는 인식으로 틀림없을 것입니다.
    Infrastructure as a Code는 사람입니다.

    Ansible은 단적으로 말하면
  • hosts 파일
  • playbook
  • 모듈

  • 의 3점으로 이루어져 있다.
    덧붙여서 읽는 방법은 「언시블」

    환경



    ■Ansibles 서버
    우분투(18.04)

    ■Ansible 호스트
    raspberry pi*2

    Ansible은 SSH 연결 서버에 미들웨어를 설치하고 구성 파일을 업데이트하는 도구입니다. 그래서 ssh는 패스 없음 필수이므로 설정을 해 두십시오.

    도입 절차



    설치



    서버에 다음을 설치
    $ apt install -y epel-release
    $ apt install -y ansible
    

    설치가 올바르게 수행되었는지 확인
    지정하여 호스트에 ping 수행
    $ ansible --version
    ansible 2.7.2
    
    # SUCCESSが出ればインストールは成功
    $ ansible -m ping 192.168.1.136
    192.168.1.136 | SUCCESS => {
        "changed": false,
        "ping": "pong"
    }
    


    옵션
    설명


    -i INVENTORY
    인벤토리 파일의 경로를 지정합니다. 기본값은 "/etc/ansible/hosts"

    --help
    ansible 명령에 대한 도움말 표시

    -m MODULE_NAME
    모듈 지정


    단위는 많게 있다.
    자주 사용하는 것은 여기
  • 파일
  • copy
  • template
  • service
  • lineinfile

  • 디렉토리 구성



    모범 사례는 공식보다 다음과 같습니다.
    특별한 특별한 일을하고 싶은 것은 아니므로 우선 이쪽을 사용한다
    playbooks
    ├── development
    ├── others.yml
    ├── production
    ├── roles
    │   ├── common
    │   │   ├── handlers
    │   │   │   └── main.yml
    │   │   └── templates
    │   │       └── ntp.conf.j2
    │   └── nginx
    │       ├── handlers
    │       │   └── main.yml
    │       └── templates
    │           └── default.j2
    ├── site.yml
    ├── staging
    └── webservers.yml
    

    호스트 편집



    이번 사용하는 호스트를 기재한다
    [webservers]
    raspberrpi01
    raspberrpi02
    
    [dbservers]
    raspberrpi03
    

    Playbook 수정


    ---
    - hosts: webservers
    roles:
      - common
      - webapp
    
    - hosts: dbservers
    roles:
      - common
      - db_middleware
    

    실제로 사용해보기



    위까지 우선 도입은 완료.

    참고 URL



    Ansible의 기본 사용법

    좋은 웹페이지 즐겨찾기