본문으로 바로가기
반응형

 

Ansible-Tower와 AWX 사용자 가이드에 대한 방법이다.

 

아래 내용들은 Ansible-Tower이지만, AWX에서도 동일하게 구성 및 사용할 수 있다.

 

 

1. Web GUI Login

인증에 성공하면 Ansible-Tower 대시보드로 이동한다. 대시보드 왼쪽에는 프로젝트, 인벤토리, 작업 템플릿 및 작업으로 빠르게 이동할 수 있는 메뉴들이 있다.

 

 

2. 사용자 및 팀 그리고 조직 생성

admin이라는 기본 사용자를 제공합니다. 그러나 다른 사용자가 필요한 경우 다른 사용자를 만들 수 있다.

새 사용자를 추가하려면 왼쪽 메뉴에 있는 사용자 탭을 클릭한다. 새 사용자를 추가할 수 있는 새 페이지가 표시됩니다. 녹색 + 아이콘을 클릭한 다음 추가할 새 사용자의 세부 정보를 입력하면 된다.

 

완료되면 " SAVE "를 클릭한다.

 

 

새 팀을 만들 때도 마찬가지로 왼쪽 메뉴에있는 " Teams "탭을 클릭한다. 새 팀을 추가할 수 있는 새 페이지가 표시됩니다. 녹색 + 아이콘을 클릭 한 다음 추가 할 새 팀의 세부 정보를 입력한다.

 

 

완료되면 " SAVE "를 클릭한다.

 

 

조직은 사용자, 팀, 프로젝트 및 인벤토리의 논리적 모음이다. 계층 구조에서 가장 높은 수준의 개채입니다. 

왼쪽 탐색 모음에서 "Organizations" 아이콘을 클릭하여 생성할 수 있고, 기본 조직이 자동으로 생성되었으며 모든 사용자가 사용할 수 있습니다.

 

 

그대로 사용하거나 필요에 따라 편집할 수 있고, 이름을 변경,사용자, 권한 등을 추가할 수 있다.

 

 

3. 자격 증명 생성

Ansible이 로그인하고 작업을 실행하려면 원격 호스트에 액세스하기 위한 자격 증명이 필요하다. 

Ansible-Tower (AWX)는 이 기능을 제공하고 있으며, 왼쪽 메뉴 에서 "Credentials"을 클릭한 다음 녹색 +  클릭하여 새 서버 자격 증명을 추가할 수 있다.

 

호스트를 구성임으로 머신을 선택합니다. 키 기반 인증 메커니즘을 선호하는 경우 SSH 키를 추가할 수 있고,  아래 권한 에스컬레이션에 sudo에 추가한다.

 

 

완료되면 " SAVE "을 클릭한다.

 

 

 

4. 인벤토리 생성 및 조직에 추가

인벤토리는 Ansible에서 관리하는 호스트 모음이다. 

인벤토리는 조직에 할당되는 반면 인벤토리에 대한 플레이북 실행 권한은 사용자 및/또는 팀 수준에서 제어된다.

기존 인벤토리를 만들고 검토하려면 왼쪽 탐색 모음에서 인벤토리 아이콘을 클릭한다 . 

새 인벤토리를 만들려면 왼쪽 탐색 메뉴에서 "Inventories"를 선택한 후 추가( + ) 버튼을 클릭하고 드롭다운 메뉴 목록에서 인벤토리를 선택한다.

 

 

이 예에서는 하나의 호스트를 추가하지만 동시에 실행하려는 하나 이상의 호스트가 포함된 그룹을 생성할 수 있다. 

" HOSTS " 탭을 클릭하고 +  클릭 하여 새 호스트를 추가한다.

 

 

완료되면 " SAVE "을 클릭 하면 새 인벤토리가 생성됩니다.

 

 

 

5. 프로젝트 설정

프로젝트는 Ansible 플레이북의 논리적 모음이다. 

플레이북과 플레이북 디렉토리를 Ansible-Tower(혹은 AWX) 서버의 프로젝트 기본 경로 아래에 수동으로 배치하거나 Git, Subversion 및 Mercurial을 포함하여 Ansible-Tower (혹은 AWX)에서 지원하는 Source Code Management (SCM) 시스템에 플레이북을 배치하여 관리할 수 있다.

 

프로젝트 생성은 왼쪽 메뉴 에서 " Projects " 탭을 클릭한 다음 추가( + )를 클릭 하여 새 프로젝트를 만든다.

 

그런 다음 필요에 맞게 세부정보를 입력한다. 소스 제어 관리자(SCM) 유형에서 모든 플레이북이 있는 git repo를 생성하거나 SCM 유형에서 수동을 선택할 때 조언된 대로 서버에 로컬 폴더를 생성할 수 있다. 하지만 본 가이드에서는 git repo를 추가하는 방법으로 설명한다.

모든 세부 정보를 입력한 다음 " SAVE " 을 클릭 합니다. 현재 git repo(nginx.yml)에 생성된 파일은 다음과 같다.

- name: SCM Git Sample
  hosts: all
  tasks:
    - name: Hello Message
      debug:
        msg: "Hello SCM Type is Git!"

 

 

6. 템플릿 설정 및 실행

템플릿은 프로젝트의 Ansible 플레이북과 이를 실행하는 데 필요한 설정을 결합한 것이다. 

왼쪽 탐색 메뉴 에서 " Templates" 탭을 클릭하여 새 작업 템플릿을 만든다. 위 방법과 같이 녹색 추가 (+)  클릭 하여 새 템플릿을 추가한다. 

창이 열리면 이전 단계에서 이미 구성한 인벤토리, 프로젝트, 자격 증명 및 플레이북 을 선택한다.

 

위 그림처럼 설정이 완료되면 아래로 스크롤하여 " SAVE "를 선택 한 후, 저장되면 즉시 작업으로 " LAUNCH"를 누르면 해당 YAML이 실행된다 .

 

실행을 누르면 " JOBS" 페이지로 자동 변경되며, 실시간으로 실행되는 것을 확인할 수 있다.

 

 

728x90