AWX First Step

CodingDaddy·2022년 3월 19일
0

Ansible

목록 보기
4/11

AWX Playbook 실행구조

AWX는 자체적으로는 자동화를 하는 도구가 아니다. 자동화를 위해 개발된 Ansible 코드를 기업에서 사용할 수 있도록 도와주는 환경(플랫폼)을 제공하는 개념이다. 그래서 AWX가 제공하는 기능들은 개발된 Ansible 코드를 실행하기 위해 목록을 관리하거나, 계정을 등록하고, SCM 정보를 등록하여 마지막에는 작업을 실제로 수행하는 템플릿(template)을 생성하는 데 그 목적이 있다.

이미지출처: engineering.linecorp.com/ko/blog/ansible-awx-for-provisioning-1

AWX UI


Playbook을 등록하고 수행하기 위해서는 몇 가지 자원(템플릿을 구성하기 위한 설정들)을 추가해야 한다. UI에선 Ansible playbook을 실행하기 위한 기능 말고도 로깅과 로그인 통합, 권한 관리, 작업 연결(pipelining), 일정에 따른 작업 수행(cron job 같은) 등의 여러 가지 부수적인 기능을 수행할 수 있다.

1.Credentials

  • 대상에 접근하기 위한 권한을 등록한다.

  • 접근의 대상은 서버가 될 수도 있고, GitHub이 될 수도 있습니다. 일반적으로 서버 접근을 위한 SSH private key나 비밀번호를 등록해서 내용은 노출하지 않으면서 권한이 있는 사용자가 사용할 수 있도록 한다.

  • 지원하는 접근 대상의 전체 목록

    • Amazon Web Services
    • Ansible Tower
    • GitHub Personal Access Token
    • GitLab Personal Access Token
    • Google Compute Engine
    • Microsoft Azure Resource Manager
    • Network
    • 기타

2.Projects

  • SCM, 즉 Git이나 SVN에서 보통 서비스 단위로 사용되는 프로젝트를 관리한다.

  • Git을 예로 들면, Git에 로그인하기 위한 credential을 만들고 프로젝트와 연결하여 Git에서 소스를 클론한다.

3.Inventories

  • 작업할 대상 서버의 목록이다. IP나 IP 룩업(lookup)이 가능한 호스트 명을 목록으로 관리한다.

  • 서버를 하나하나 나열할 수도 있고, 그룹 단위로도 관리할 수 있으며, 그룹 안에 그룹을 포함할 수도 있다.

  • 서버 이름이 연속으로 이어지는 것과 같은 경우엔 패턴을 사용하여 등록할 수 있다 Ansible Doc

  • Ansible을 직접 사용할 때는 hosts 파일을 만들어서 관리하지만, AWX에서 여러 가지 소스를 사용하여 목록 작성을 지원한다 Ansible tower user guide

4.Templates

  • Inventories 목록의 서버에 대해 credential로 접근 권한을 얻어서 프로젝트에 있는 playbook을 실행한다

  • 템플릿을 만들기 위해서는 3개 항목(Credentials, Projedts, Inventories)을 먼저 등록해야 한다.

profile
Creative - DevOps in Korea

0개의 댓글