Ansible + ServerRSpec으로 배울 기반 자동 구축 (다이제스트 버전)

오늘은 지금 화제(※)의 Ansible과 serverspec을 사용해, 기반 자동 구축을 시험해 보고 싶습니다.
(※ 유행 폐기가 치열한 이 업계, 이 구성은 혹시 체로 하거나 합니까? 가르쳐 위대한 사람)
가정 독파 시간: 5분

먼저


  • 우선 먼저 말해 둡니다 이하의 책의 선전입니다. 꼭 구입하십시오
  • 조금이라도 좋다고 생각하면 이하 포치로 부탁합니다 (아피리에이트 수준의 감상)
  • htps : // / tch 보오 k 후 st. rg/p 로즈 ct/4761877666070528

  • 전하고 싶은 것



    오늘은 모두에게 아무래도 전하고 싶은 것이 있다. (SAKURA ○)
  • 자동 구축은 최고. 신이 될 수 있다.
  • 자동 구축은 간단. 언제나 손으로 하고 있는 것을 조금 머리 비틀어 말로 할 뿐.

  • 구성



    자동 구축하는 완성도는 이하입니다. (Ubuntu라고 쓰고 있습니다만, RaspberryPi이므로 Raspbian입니다)



    대상 독자



    이하의 사람이 특히 오누누메입니다.
    - 인프라 엔지니어를 조금하고 자동 구축에 관심이 있습니다.
    - Wordpress를 설치한 적이 있는 사람
    - 애플리케이션 엔지니어이지만 어떻게 기반이 구축되었는지 알고 싶은 사람
    - 어쨌든 즐기고 싶은 사람
    - 오늘 아침 밥이나 점심 밥은 밤밥을 먹은 사람
    - 하나님 (또는 그에 준하는 입장 분)

    Ansible로 구축해보기



    Ansible이란 무엇인가, 같은 전제 지식은 일단 여기에서는 끝 접어 버립니다군요(책 안에서는 쓰고 있습니다.)
    단적으로 말하면 Ansible은 자동으로 구축할 수 있는 프레임워크입니다(결국 설명했네요.)
    좀 더 간단하게 말하면, 빌드할 때의 쉘 스크립트의 작성 방법을 정리한 것만 같다.

    예를 들어 Wordpress에서 사용하기 위한 Apache 설치 및 시작 설정은 다음과 같습니다.

    main.yml
    ---
    - name: Install Apache
        apt: name=apache2 update_cache=yes cache_valid_time=3600
    - name: Start Aapche
        service: name=apache2 state=started enabled=yes
    

    확실히 무엇을하려고하는지 매우 이해하기 쉽습니다.
    (apt 명령으로 apach2를 설치 한 다음 service 명령으로 apache 시작)
    이 파일을 만든 후에는 다음과 같이 실행하면 됩니다.

    Ansible
    root@raspberrypi:~# ansible-playbook -i hosts common.yml
    
    TASK [Apache : Install Apache] 
    **************************************************************************
    changed: [raspberrypi01.local]
    〜略〜
    

    응? 쉬울까요?
    실제로는 사전의 준비등등이 있으므로, 엄청 생략하고 있습니다만,
    분위기만으로도 전해지면 좋을까 생각합니다. (책에서는 정중하게 해설하고 있습니다)

    ServeRSpec으로 테스트 해보기



    구축을 하면 다음은 구축할 수 있는지 확인(테스트)군요. 이것은 serverspec이라는 도구를 사용합니다.
    (원래는 RSpec이라는 루비에서의 테스트를 위한 툴을 베이스로 하고 있는 것 같습니다.)

    sample_spec.rb
    # Checking Installed Apache2
     describe package('apache2') do
      it {should be_installed}
     end 
    
    # Checking Apache2 Service Status
     describe service('apache2') do
      it { should be_enabled }
      it { should be_running }
     end
    

    ServeRSpec
    root@raspberrypi:~# rake
    Package "apache2"
    is expected to be installed
    
    Service "apache2"
    is expected to be enabled
    is expected to be running
    〜略〜
    

    지식 뭔가 없었다고 무엇을 하고 있는지 알기 쉽네요. should는 「~해야 한다」니까요.
    이것도 Ansible과 같이, 엄청 생략하고 있습니다. (Ansible과 마찬가지로 책에서는 정중하게 (이하 약어))

    마지막으로



    대략 5분으로 설명한다면 이것 정도의 분량이군요. (시간은 금보다 무겁다.)
    그 밖에도 책이라면 Wordpress를 자동 구축할 때의 주의점이라든지, AWS라든지에서 자동 구축의 이미지라든지 소개하고 있습니다.

    위로 돌아갈 필요가 없도록 여기에도 링크 붙여 둡니다.
    htps : // / tch 보오 k 후 st. rg/p 로즈 ct/4761877666070528

    좋은 웹페이지 즐겨찾기