ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • IaC) Ansible
    Cloud/IaC 2022. 9. 20. 15:40

    Ansible 이란?

    • RedHat에서 개발하고, Python으로 작성함
    • 오픈소스 방식으로 서버의 프로비저닝, SW 배포등의 자동화를 관리해주는 도구


    Ansible의 특징

    • Agentless
      • 타 자동화 도구(Puppet, Chef)들은 타겟 대상들에 agent 설치기반 pull 방식으로 동작
      • Ansible은 타겟 대상들에게 Agentless 기반의 push방식으로 동작하므로 기술적, 지리적 제한이 보다 넓은 장점
    • Idempotency
      • 어떤 연산이 여러번 수행되더라도 결과가 달라지지 않는 성질
      • Ansible은 동일한 모듈을 반복 실행해도 결과가 동일한 멱등성을 일관되게 수행할 수 있다
    • Reusability
      • 기준 시스템 구성 정보를 재사용하여 손쉽게 인프라 구성관리 수행


    Ansible 구성요소

    • 제어 노드 [ Control node ]
      • Ansible을 실행하는 node
      • Ansible 제공 프로그램을 이용하여 매니지드 노드 관리
      • Ansible이 설치된 computer가 제어 노드가 된다.
    • 매니지드 노드 [ Managed node ]
      • Ansible로 관리하는 서버를 매니지드 노드 또는 host, target이라 한다.
      • 매니지드 노드에는 Ansible이 설치되지 않는다.
    • 인벤토리 [ Inventory ]
      • 매니지드 노드 목록
      • 인벤토리 파일은 호스트 파일이라고도 한다.
      • 인벤토리 파일은 각 매니지드 노드에 대한 IP address, 호스트정보, 변수와 같은 정보를 저장
    • 모듈 [ Module ]
      • Ansible이 실행되는 코드 단위
      • 미리 만들어진 동작관련 코드집합
      • 각 모듈은 데이터베이스 처리, 사용자관리, 네트워크장치관리 등 다양한 용도로 사용
      • 단위 모듈을 호출하거나 playbook에서 여러 모듈을 호출할 수 있다.
    • 테스크 [ Task ]
      • Ansible 작업단위
      • Ad -hoc 명령을 사용하여 단일 작업을 한번 실행할 수 있다.
    • 플레이북 [ Playbook ]
      •  YAML로 작성
      • 순서가 지정된 테스크 목록
      • 지정된 작업을 해당 순서로 반복적으로 실행할 수 있다.
      • 플레이북에는 변수와 작업이 포함될 수 있다.


    Ansible 동작 과정

    • Ansible은 인벤토리 파일 내용을 참조하여 관리에 대한 매니지드 노드를 파악한다.
    • Ansible을 통한 매니지드 노드 관리방법
      • 모듈을 통한 매니지드 노드 관리방법
      • Ad-hoc 명령을 통한 매니지드 노드 관리
      • 테스크 단위로 매니지드 노드 관리
      • 플레이북을 이용한 매니지드 노드 관리


     

     

    'Cloud > IaC' 카테고리의 다른 글

    IaC) AWS CloudFormation  (0) 2022.09.19

    댓글

Designed by Tistory.