모두를 위한 Ansible(Ansible 플레이북) - 3부

34일차 - 모두를 위한 Ansible(Ansible 플레이북) - 3부 - 34일차



100 days of Cloud on GitHub - Read On iCTPro.co.nz -


🧮 전제 조건



자세한 내용은 Ansible을 참조하십시오.










🛠️ Ansible 인벤토리 추가



서버 클러스터를 Ansible 인프라에 추가해 보겠습니다.
이 데모에서는 AnsibleSlaves-YourProdServer를 내 prod 서버로만 사용합니다.

Ansible-Control-Center로 이동하여 ansible 호스트 파일을 업데이트합니다.



sudo nano /etc/ansible/hosts

  • 이 파일에서 호스트를 추가할 템플릿을 찾을 수 있습니다
  • .
  • 프로덕션 서버 그룹을 추가할 수 있습니다.
  • 추가 [YourgGroupName]
  • 다음 줄에 추가할 서버에 이름을 지정합니다.
    이름app1과 슬레이브의 IP 주소ansible_ssh_host=를 지정합니다.


  • [production]
    app1 ansible_ssh_host= ipaddress of your slave
    

    연결을 테스트해 봅시다




  • 모든 연결을 테스트하려면

  • ansible -m ping all
    

  • 그룹의 모든 연결을 테스트하려면

  • ansible -m ping production
    

  • 그룹에서 app1이라는 서버의 연결을 테스트하려면

  • ansible -m ping app1
    

    아래 이미지는 ping 결과를 보여줍니다.


    ✨ 모듈


  • 모듈은 작업 수행에 도움이 되는 명령입니다. 즉, 모듈은 작업 수행에 도움이 되는 일종의 라이브러리입니다.
  • 모든 모듈 목록 - link

  • 작업이란 무엇입니까?
    모듈로 수행되는 일련의 지침입니다.

    ▶️ Ansible 플레이북





    플레이북은 YAML로 작성되며 플레이북은 호스트에 대해 자동으로 실행되는 작업 목록입니다.

    nginx 플레이북을 만들어 봅시다
    가능한 모듈 - https://docs.ansible.com/ansible/2.9/modules/list_of_all_modules.html
  • YAML 파일을 만들 수 있습니다.

  • sudo nano nginxplaybook.yaml
    

  • 세 개의 대시로 yaml 스크립팅 시작---
  • 그런 다음 단일 대시로 시작하여 이름을 지정할 수 있습니다-.
  • 이제 호스트인 다음 매개변수를 업데이트할 것입니다. 이 경우 모든 서버에서 production를 사용하려면 all가 됩니다.
  • 따라서 대상에서 루트로 실행해야 하는 경우 become 매개변수를 true로 설정합니다.
  • 지금 task에서 작업 정의
  • apt module를 사용하여 nginx를 설치합니다. 참조 link
  • 작업에 nameinstall nginx로 지정했습니다. 그런 다음 우분투를 사용하는 것처럼 apt 모듈을 사용하게 됩니다.
  • modulestate의 이름, 자세한 내용은 link을 참조하십시오.


  • ---
    - name: install nginx server
      hosts: production
      become: yes
      tasks:
      - name: install nginx
        apt:
          name: nginx
          state: latest
    

    이제 플레이북을 실행해 보겠습니다.


  • 플레이북을 실행하기 전에 확인해 보겠습니다.ansible-playbook nginxplaybook.yaml --check
  • 이제 플레이 북을 실행해 보겠습니다.

  • ansible-playbook nginxplaybook.yaml
    

    Git에서 코드 배포


  • 여기에서는 Ansible을 사용하여 대상 서버에 웹 사이트를 배포합니다.

  • ---
    - name: install nginx server
      hosts: production
      become: yes
      tasks:
      - name: install nginx
        apt:
          name: nginx
          state: latest
      - name: Clone a repo with separate git directory
        ansible.builtin.git:
          repo: https://github.com/anuvindhs/CLOUD-is-AWSome.git
          dest: /var/www/html/app1
    

  • 플레이북을 실행하자

  • ansible-playbook nginxplaybook.yaml
    


  • 이제 http://yourslaveip/app1으로 이동하여 마법
  • 을 확인하세요.

    🎉🎉🎉🎉플레이북을 사용하여 aws로 첫 번째 ansible 인프라 배포를 축하합니다🎉🎉🎉🎉.



    spacelift의 예제와 함께 이 팁과 요령을 적극 권장합니다.
    , 이것은 복잡한 ansible 스크립트를 작성할 때 편리합니다.





    Ansible 플레이북 작업 - 예제를 사용한 팁과 요령



    플레이북은 Ansible의 기본 구성 요소 중 하나입니다. 사용 방법을 알아보고 모범 사례와 함께 자세한 예를 확인하세요.



    spacelift.io



    앤서블documentation links
    앤서블Modules link









    ✅저와 연결하세요
    🤝🏽에서 나와 연결
    🧑🏼‍🤝‍🧑🏻 또는 iCTPro.co.nz에서 더 많은 게시물 보기
    💻 GitHub에서 나와 연결





    아누빈드 산카라빌라삼 팔로우



    Experienced Cloud Technology Specialist with a demonstrated skillset of working with Medical Service , NZ Police & Education industry

    좋은 웹페이지 즐겨찾기