221208 TIL : AWX

백승한·2022년 12월 8일
0

Ansible 에 대해서 먼저 알아보자

AWX가 제공하는 기능들은 개발된 Ansible 코드를 실행하기 위해
목록을 관리하거나, 계정을 등록하고, SCM 정보를 등록하여
마지막에는 작업을 실제로 수행하는 템플릿(template)을 생성하는 데 그 목적이 있다.

먼저 Ansible 을 알아보자 ---> [Ansible ] Ansible 이란?

AWX

  • Ansible Tower 의 오픈소스 버전으로,
    Asible 을 GUI 로 관리하고, API로 제어할 수 있도록 해주는 시스템.

  • AWX 는 Ansible 프로젝트 관리를 위한 웹 기반 사용자 인터페이스,
    REST API 및 Task 엔진 제공하는 툴이다.

  • AWX 자체는 Ansible 언어를 운영하는 미들웨어의 성격이다.
    Playbook이 없다면 할 수 있는 일은 거의 없다.
    그래서 중요한 것은 Ansible playbook을 개발하는 것입니다.
    AWX는 playbook을 관리하고 운영하는 데 필요한 여러 기능을 제공한다.

  • Playbook 을 관리하고 운영하는데 필요한 여러 기능을 제공한다.

  • AWX-UI 기능 - 참고 1
    AWX-UI 기능 - 참고 2

AWX 기능

  • Ansible Project Management and Host Management
  • Provisioning and Configuration Management
  • CD(Continuous Delivery) 및 Workflow Template
  • 중앙 집중식 로깅/감사 기능 제공
  • Authentiaction 연동(LDAP, SAML, Github, Goolge, Azure AD)
  • 시각적인 웹 대쉬 보드
  • 고가용성(high availability)

Ansible Tower(Licensed) vs Ansible AWX(Open Source)

Red Hat Ansible Tower(유료)와 Open source AWX(무료)

Ansible Tower (Licensed)

  • Red Hat 라이선스 (유료)
  • 라이선스 비용은 노드 당 비용( 100 개 노드 당 10,000 달러)
  • 수명 주기 길고, 안정적인 버전 업데이트(보안 패치 포함)
  • 24x7 — Red Hat 지원

Ansible AWX (Open Source)

  • 오픈소스 (무료)
  • 노드에 제한 없음
  • Docker Container로만 제공함.
  • 수명 주기가 짧고, 자주 버전 업데이트 발생함.
  • 품질 엔지니어링(QE) 테스트하지 않으며, AWX 이전 릴리즈 버전에 대한 보안 수정을 제공하지 않음.
  • Red Hat 기술 지원 없고, github 이슈로 등록해야 함.
  • GitHub - ansible/awx: AWX Project

내가 정리한 Ansible

  • IT 인프라 구성 관리 자동화 도구
  • YAML : 구성 쉽다
  • OpenSSH : 표준 통신 방식용어

    여러대의 서버를 효율적으로 관리하기 위해 고안된 환경 구성 자동화 도구 중 하나로, agentless (ssh), 멱등성, 다양한 모듈 지원, 접근 용이성 (python) 등의 특징이 있습니다.

플레이

하나 이상의 테스크의 모음

플레이북 ( 단일작업인 ad-hoc 을 모아서 작성 )

하나 이상의 플레이 모음
Red Hat 공식문서 - Ansible Playbook이란

제어 노드

Control Node, Controller, Ansible Engine
조건: Unix 계열, python

관리 노드

Managed Node, Target Node/Host ...
BM, VM, Instance, Network Device

조건:

  • SSH가 가능한 모든 시스템, Python 설치
  • Windows: WinRM(Windows Remote Management)

인벤토리 (관리 노드 목록)

  • 정적 인벤토리: 관리 노드의 목록 파일
  • 동적 인벤토리: 클라우드, CMDB에서 관리 노드 목록 가져옴

Ad-hoc ( 단일작업 )

Ansible 임시 실행
하나의 모듈을 실행

테스크(Task)

하나의 모듈을 실행 --> 하나의 테스크(작업)
ansible 의 실제 작업 단위

roles

playbook 의 재사용 가능 형태

플러그인

Ansible 기능 확장

모듈

Ansible 작업 실행 할 수 있는 기본 단위
Python Code

Ansible 기본 사용법

Ansible 기본 사용법 - 참고 1
Ansible 기본 사용법 - 참고 2
Ansible 기본 사용법 - 참고 3

profile
방문해주셔서 감사합니다🙂

0개의 댓글