Ssoon

[ Part-1 ] 앤서블 시작하기 - 앤서블 소개 / 앤서블 아키텍트 본문

Ansible 101 Study

[ Part-1 ] 앤서블 시작하기 - 앤서블 소개 / 앤서블 아키텍트

구구달스 2024. 1. 8. 00:27
CloudNet@ 가시다님이 진행하는 Ansible 101 Study
"앤서블로 시작하는 인프라 자동화" (한빛미디어) 로 진행

Ansible

  • 오픈소스 자동화 도구
  • 프로비저닝, 환경 설정, 애플리케이션 배포 등의 업무를 코드 기반으로 작성 ▶ 여러 환경에 동일하게 적용

💠 Agentless

  • 에이전트 설치 없이 SSH로 접속 ▶ 대상 서버 관리

💠 멱등성 ( Idempotent )

  • 연산을 여러 번 적용하더라도 결과가 달라지지 않는 성질 ▶ 시스템을 원하는 상태로 표현/유지 ▶ 동일한 작업을 여러 번 실행해고 같은결과

💠 제어노드 ( Contorl Node )

  • 앤서블 코어가 설치되고 플레이북을 작성하여 실행

💠 관리노드 ( Managed Node )

  • 플레이북이 실행되어 애플리케이션 설치나 클라우드 시스템의 가상서버 생성과 같은 작업 수행

 

사용자 정의 플레이북 + 관리 노드 정의 인벤토리 파일 + SSH 프로토콜

 

 커뮤니티 앤서블

  • 오픈소스 형태 ▶ 운영체제가 리눅스라면 어디에나 설치
  • 앤서블은 제어노드에 설치/실행
  • 파이썬 기본 설치 필요
  • 모듈과 플레그인이 함께 설치
  • 인벤토리 ▶  앤서블 관리 노드 정보 저장
  • 플레이북 ▶  관리 노드에서 수행될 작업 절차

💠 제어 노드 (Control Node)

  • 앤서블이 설치되는 노드
  • 리눅스 운영체제
  • 파이썬 설치 필요

💠 관리 노드 (Managed Node)

  • 앤서블이 제어하는 원격 시스템 / 호스트
  • 에이전트 설치 불필요
  • 제어 노드와 SSH 통신 가능
  • 파이썬 설치 필요

💠 인벤토리 (Inventory)

  • 제어 노드가 제어하는 관리 노드 목록 파일
  • 사전에 정의된 관리 노드에만 접속 가능

💠 모듈 (Module)

  • 관리 노드에 SSH 연결 ▶ "앤서블 모듈" 스크립트를 푸시하여 동작
  • 원하는 시스템 상태를 설명하는 매개 변수 허용
  • 모듈 실행 완료되면 제거

💠 플러그인 (Plugin)

  • 앤서블의 핵심 기능(데이터 변환, 로그 출력, 인벤토리 연결 등) 에 대한 옵션 및 확장 기능 제공 
  • 제어 노드에서 실행

💠 플레이북 (Playbook)

  • 관리 노드에서 수행할 작업을 YAML 로 순서대로 작성한 파일

 

https://docs.ansible.com/ansible/latest/

 

Ansible Documentation — Ansible Documentation

© Copyright Ansible project contributors. Last updated on Jan 04, 2024.

docs.ansible.com

https://github.com/ansible/ansible

 

GitHub - ansible/ansible: Ansible is a radically simple IT automation platform that makes your applications and systems easier t

Ansible is a radically simple IT automation platform that makes your applications and systems easier to deploy and maintain. Automate everything from code deployment to network configuration to clo...

github.com

 


 Redhat 앤서블 오토메이션 플랫폼 (AAP)

  • 오토메이션 컨트롤러 ▶ 앤서블 관리 웹 UI
  • 실행 환경 ▶ 앤서블 모듈과 플러그인이 존재하는 컨테이너 기반 실행 환경
  • PostgreSQL ▶ 인벤토리, 인증 정보, 실행 환경 등의 메타데이터 관리하는 DBMS

https://dev.to/keecheriljobin/ansible-architecture-working-co9

CMDB + 관리 웹 UI + REST API 

💠 CMDB (Configuration Management Database)

  • 인벤토리, 제어 노드 인증 정보, 실행 환경 등을 관리
 
Comments