9-AWX 사용메뉴얼
대쉬보드
최근 실행 작업
스케쥴 확인
관리 메뉴
조직관리
- 사용자 / 팀 / 프로젝트 / 인벤토리를 관리하는 최 상단 그룹( ACCESS → ORGANIZATIONS)\
- 조직 계층 구조
- 조직생성 ( 버튼 선택)
- 조직 관리
- USERS : 조직에 소속시킬 사용자 (계정명 선택)
- PERMISSIONS : 조직의 권한설정
항 목 설 명 Admin 전체 권한 부여 Execute 프로젝트 실행만 가능 Project Admin 프로젝트 생성 / 수정 / 읽기 가능 Inventory Admin 인벤토리 생성 / 수정 / 읽기 가능 Credential Admin 자격증명 생성 / 수정 / 읽기 가능 Workflow Admin 워크 플로우 생성 Notification Admin 알림 할당 Auditor 읽기 전용 권한 Member 템플릭을 제외한 모든 기능 읽기 가능 Read 읽기 전용 권한 - NOTIFICATIONS : 알람정책 관리 : 알람생성은 ( {{ 참조 }} )
사용자 관리
팀 관리
- 사용자 / 프로젝트 권한을 설정할 수 있는 조직단위의 세부 구성 ( ACCESS → TEAM)
- 팀 생성
- 팀 관리
- USER : 팀 소속 사용자
- PERMISSION : 템플릿 / 워크플로우 / 프로젝트 / 인벤토리 / 인증 / 조직별 권한 설정
- 템플릿 권한
항 목 설 명 Admin 선택한 템플릿의 전체 권한 Execute 선택한 템플릿의 실행 / 점검권한 Read 선택한 템플릿의 읽기 권한 - 워크플로우 권한
항 목 설 명 Admin 선택한 템플릿의 전체 권한 Execute 선택한 템플릿의 실행 / 점검 권한 Read 선택한 템플릿의 읽기 권한 Approve 작업승인여부 관리 - 프로젝트 권한
항 목 설 명 Admin 선택한 프로젝트의 전체 권한 Execute 선택한 프로젝트의 설정 / 점검권한 Read 선택한 프로젝트의 읽기 권한 - 인벤토리 권한
항 목 설 명 Admin 선택한 인벤토리의 전체권한 Update 인벤토리 업데이트 권한 Ad Hoc 임시명령 (ping, win_ping 등) 실행 가능 권한 Use 인벤토리 사용 권한 Read 인벤토리 읽기 권한 - 조직 권한
항 목 설 명 Execute 실행 / 점검 권한 Project Admin 프로젝트 생성 / 수정 / 읽기 가능 Inventory Admin 인벤토리 생성 / 수정 / 읽기 가능 Credential Admin 자격증명 생성 / 수정 / 읽기 가능 Workflow Admin 워크 플로우 생성 Notification Admin 알림 할당 Job Template Admin 템플릿 관리 권한 Auditor 읽기 전용 권한 Read 읽기 전용 권한
- 템플릿 권한
인증정보
- AWX 사용에 필요한 계정정보 (RESOURCES → Credentials)
- 인증정보 생성 ( 버튼 선택)
- Machine 타입으로 인증생성 입력화면
- 항목별 상세설명
항 목 설 명 비 고 NAME 계정이름 필수 DESCRIPTION 계정설명 옵션 ORGANIZATION 소속 조직 옵션 CREDENTIAL TYPE (Machine ) winrm / ssh 등 장비로그인시 사용 필수 USERNAME 실제 로그인하는 계정명 필수 비밀번호 로그인시 사용하는 패스워드 필수 PRIVILEGE ESCALATION METHOD 상위 계정(root)을 권한 상승 방식 옵션 PRIVILEGE ESCALATION USERNAME 권한상승시 필요한 계정 옵션 PRIVILEGE ESCALATION PASSWORD 권한 상승하기 위한 패스워드 입력 옵션 - Source control 타입으로 인증생성 입력화면
- 항목별 상세설명
항 목 설 명 비 고 NAME 계정이름 필수 DESCRIPTION 계정설명 옵션 ORGANIZATION 소속 조직 옵션 CREDENTIAL TYPE (Machine ) Git / subversion 로그인시 사용 필수 USERNAME 실제 로그인하는 계정명 필수
- Machine 타입으로 인증생성 입력화면
프로젝트
- playbook이 저장된 위치 설정 (RESOURCES → Project)
- 프로젝트 생성 방법 ( 버튼 선택)
- 항목별 상세설명
항 목 설 명 비 고 NAME 프로젝트 이름 필수 DESCRIPTION 프로젝트 설명 옵션 ORGANIZATION 프로젝트 조직 필수 SCM TYPE - Manual : 배포서버의 파일형태로 관리 (awx_task 컨테이너 /var/lib/awx/project에 playbook이 저장되어 있어야 함)
- git : git을 통해 관리
- subversion : subversion 을 통해 관리필수 배포시스템은 git을 통해 playbook 관리 SCM URL git / subversion URL 필수 SCM BRANCH/TAG/COMMIT 특정 브랜치/태그를 이용해야 하는 경우 입력 옵션 (공란인 경우 master / head) GIT REFSPEC URL git기반에서 원격 저장소 다운로드할 경로 참조시 입력 옵션 (공란인경우 사용하지 않음) SCM CREDENTIAL git / subversion 접근을 위한 계정정보 필수 (인증정보에서 생성된 계정선택) SCM UPDATE OPTIONS - CLEAN : 업데이트하기 전에 로컬 데이터 삭제 - DELETE ON UPDATE : 업데이트를 수행하기 전에 로컬저장소 전체 삭제
- UPDATE REVISION ON LAUNCH : 작업시작전에 업데이트 수행
- ALLOW BRANCH OVERRIDE : branch 변경이 필요할때 사용선택 선택 선택 선택안함 CACHE TIMEOUT (SECONDS) 프로젝트를 최신상태로 인지하는 시간(초단위), 타임마아웃을 초과한 경우 프로젝트 소스를 다시 업데이트 함 옵션 (0인 경우 사용안함)
- 항목별 상세설명
인벤토리
- 작업을 위한 호스트 모음 (RESOURCES → Inventories)
- 인벤토리 생성 방법 ( 버튼 선택)
- 인벤토리 추가 설정
- 권한 설정 방법 ( 버튼 선택)
- 권한설정 입력화면 : 추가할 계정명 선택 후 설정할 권한 정보 선택
- 정책별 상세 설명
항 목 설 명 Admin 모든 권한 부여 Update SCM업데이트시 프로젝트 업데이트 가능 Ad Hoc 임시 명령 사용가능 Use 템플릿에서 해당 인벤토리 접근 가능 Read 읽기전용
- 호스트 추가방법 ( 버튼 선택)
- 호스트 추가 입력화면
- 항목별 상세설명
항 목 설 명 비 고 HOSTNAME 타켓호스트 IP입력(호스트네임 입력 무방) 필수 (호스트네임 입력시 ip와 매핑할 수 있는 정보 필요) DESCRIPTION 타켓호스트 설명 옵션 VARIABLES ssh포트, 접속 방법 등 해당 호스트의 추가 설정값 입력 옵션 (기본은 ssh, tcp/22로 접근수행) - PERMISSIONS : 접근계정 권한설정
- GROUPS : 각 호스트에 소속된 그룹정보 입력
- 그룹추가 방법 ( 버튼 선택)
- 그룹추가 입력화면
- 항목별 상세설명
항 목 설 명 비 고 NAME 그룹이름 필수 DESCRIPTION 그룹설명 옵션 VALIABLES 이 그룹에 소속된 모든 호스트에 적용할 값 입력(yaml / json 지원 가능) 옵션 - 생성된 그룹에 하위 그룹 생성 방법 (생성된 그룹 → GROUPS, 버튼 선택)
- 생성된 그룹에 소속시킬 호스트 등록 (생성된 그룹 → HOSTS)
- 기존에 생성된 호스트의 경우 Existing HOSTS 선택)
- 소속된 호스트 선택
- 새로운 호스트의 경우 New HOSTS 선택 후 호스트정보 입력
- HOTS : 해당 인벤토리에 등록할 호스트정보 등록
- 다수서버 등록시 방법
- 인벤토리 신규 생성
- AWX Task Container 로그인
$> docker exec -i -t awx_task /bin/bash
- Inventory에 등록한 호스트파일 작성
$> vi add_list.txt [node] 1.2.3.4 5.6.7.8 [master] 10.20.30.40 50.60.70.80 [DB] 11.22.33.44 55.66.77.88
- 작성한 호스트파일로 awx inventory 등록
bash-4.4# awx-manage inventory_import --inventory-name {{ 인벤토리명 }} --source list --force 2.703 INFO Updating inventory 15: {{ 인벤토리명 }} 3.443 INFO Reading Ansible inventory source: /var/lib/awx/list 3.446 INFO Using VIRTUAL_ENV: /var/lib/awx/venv/ansible 3.446 INFO Using PATH: /var/lib/awx/venv/ansible/bin:/usr/pgsql-10/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin: /bin 3.446 INFO Using PYTHONPATH: /var/lib/awx/venv/ansible/lib/python3.6/site-packages: 4.056 INFO Processing JSON output... 4.057 INFO Loaded 33 groups, 15 hosts 2020-07-17 02:12:40,663 DEBUG awx.main.models.inventory Going to update inventory computed fields, pk=15 2020-07-17 02:12:40,680 DEBUG awx.main.models.inventory Finished updating inventory computed fields, pk=15, in 0.014 seconds 4.305 INFO Inventory import completed for ({{ 인벤토리명 }} - 49) in 1.6s
템플릿
- 실제 배포작업을 실행하기 위해 생성 (RESOURCES → Templates)
- 기본 템플릿 생성방법( 버튼 선택 → Job Template 선택)
- 템플릿 생성 입력화면
- 항목별 상세설명
PROMPT ON LAUNCH : 플레이북 실행시 선택창 출력항 목 설 명 비 고 NAME 템플릿 이름 필수 DESCRIPTION 템플릿 설명 옵션 JOB TYPE - run : 실제 배포 수행 - check: 구문 오류테스트 필수 (run 선택) INVENTORY 템플릿에서 적용할 인벤토리 설정 필수 PROJECT 템플릿에서 적용할 프로젝트 설정 필수 PLAYBOOK 템플릿에서 수행할 플레이북 선택 필수 CREDENTIALS 템플릿에서 적용할 인증값 설정 옵션 FORKS 플레이북 실행시 동시 프로세스 옵션 (1 입력) LIMIT 호스트 목록 제한시 입력 옵션 VERBOSITY 로그 출력 레벨 (숫자가 높을수록 상세로그) 0 선택 * 디버깅 로그시 브라우저 탭이 잠기면서 작업완료 지연 보고 이슈 있음 JOB TAGS 배포 작업별 설정되는 태그 입력 템플릿별 고유의 태그 입력 필요 SKIP TAGS 작업을 수행하지 않을 태그 입력 옵션 LABELS 템플릿을 설명하는 레이블 입력 옵션 INSTANCE GROUPS 템플릿을 실행할 인스턴스 그룹 선택 옵션 JOB SLICING 작업 슬라이스(다중 호스트 작업시 작업수를 분산) 설정 옵션 TIMEOUT 배포작업 최대 소요시간 옵션 2400 입력 SHOW CHANGES 작업시 변경되는 내용들 확인 활성화 OPTIONS - ENABLE PRIVILEGE ESCALATION : 권한 상승이필요한 경우 선택
- ENABLE PROVISIONING CALLBACKS : awx api를 통해 작업 호출 허용시 선택
- ENABLE WEBHOOK : 웹 후크 사용시 선택
- ENABLE CONCURRENT JOBS : 템플릿 자체의 중복실행 허용시 선택
- ENABLE FACT CACHE : 배포 작업시 팩트 캐쉬를 사용할 경우 선택선택 미선택
미선택
선택
미선택EXTRA VARIABLES 추가로 설정해야할 변수 입력 상기 이미지 내용 추가
- 템플릿 생성 입력화면
- WorkFlow 템플릿 생성방법( 버튼 선택 → Workflow Template 선택)
- 탬플릿 생성 입력화면
- 항목별 상세 설명
항 목 설 명 비 고 NAME 템플릿 이름 필수 DESCRIPTION 템플릿 설명 옵션 ORGANIZATION 템플릿 조직 옵션 INVENTORY 템플릿에서 적용할 인벤토리 설정 필수 LIMIT 호스트 목록 제한시 입력 옵션 SCM BRANCH 특정 branch / tag에서 가지고 와와야할 경우 입력 옵션 LABELS 템플릿을 설명하는 레이블 입력 옵션 OPTIONS - ENABLE CONCURRENT JOBS : 템플릿 자체의 중복실행 허용시 선택
- ENABLE WEBHOOK : 웹 후크 사용시 선택선택
미선택
- 탬플릿 생성 입력화면
- 템플릿 설정
- PERMISSION (Templates → Permission , 버튼 선택)
- NOTIFICATIONS
- COMPLETED JOBS
- 해당 템플릿으로 수행한 작업이력 확인 (Templates → COMPLETED JOBS)
- SCHEDULES
- 해당 템플릿을 스케쥴로 수행할 때 선택
- 스케쥴 생성 방법 (Templates → SCHEDULES, 버튼 선택)
- 스케쥴 설정 화면
- 항목별 상세 설명
항 목 설 명 비 고 NAME 스케쥴 이름 필수 START DATE 시작 날짜 필수 START TIME 시작 시간 필수 LOCAL TIME ZONE 지역 시간대0 OS에 설정된 시간대역에 맞추어 자동 표시, 수정 가능 REPEAT FREQUENCY 반복 빈도 - none : 1회성 - Minute : 분단위 반복
- Hour : 시간단위 반복
- Day : 일 단위 반복
- Week : 주 단위 반복
- Month : 월 단위 반복
- Year : 년 단위 반복필수 Every 반복 주기 설정 반복설정시 화면에 노출 (필수) END 종료조건 - after : OCCURRENCES 횟수까지 실행 후 종료
- On Date : 특정날짜/시간 까지 실행 후 종료필수
- EDIT SURVEY
- 배포 작업시 추가 변수 전달이 필요한 경우 작성 (Templates → ADD SURVEY)
- 서베이 설정화면
- 항목별 세부설명
항 목 설 명 비 고 PROMPT 사용자에 확인할 질문사항 필수 DESCRIPTION prompt에 대한 추가 설명 옵션 ANSWER VARIABLE NAME ansible에 전달할 변수 이름 필수 ANSWER TYPE 답변 유형 선택
- text
- textarea
- Password
- Multiple Choice (single Select)
- Multiple Choice (Multiple Select)
- integer
- Float
일반 문자열 (1줄)
여러줄의 문자열
패스워드 형태 입력시 선택
1개만 선택할 수 있는 리스트 목록
여러개 선택할 수 있는 리스트 목록
숫자값
10진수MININUM LENGTH 최소 문자열 text, textarea, password, integer, float 선택시 보임 MAXIMUM LENGTH 최대 문자열 text, textarea, password, integer, float 선택시 보임 DEFAULT ANSWER 기본 항목 prompt에 대한 기본값 REQUIRED 필수여부 선택시 배포작업시 필수항목으로 분류됨 - 서베이 변경
- WORKFLOW VISUALIZER
- 템플릿 유형이 workflow인 경우에만 출력하며, WebUI기반에서 생성 (Templates → WORKFLOW VISUALIZER)
- Workflow 생성 화면
- Add a NODE 세부 항목
항 목 설 명 비 고 Template 생성된 템플릿 추가시 Project Sync 프로젝트 동기화 시 Inventory Sync 인벤토리 동기화 시 Approval 작업건 승인여부 확인시 webui noti항목에 출력됨 TIMEOUT 승인여부 타임아웃 (타임아웃 초과시 거부됨) 옵션, 0인 경우 무제한 RUN - Always : 성공 / 실패에 상관없이 계속 실행
- On Success : 앞 작업이 정상적으로 수행된 경우 실행
- On Failure : 앞 작업이 실패된 경우 실행필수, 최초 Node는 Alway만 표기됨 CONVERGENCE - Any : 앞 작업이 하나라도 완료되면 수행 - All : 앞 작업이 모두 완료되면 수행 필수, Any가 기본 - WorkFlow 생성
- Approval 화면
- Template을 이용한 배포작업 수행
자격증명 관리
기존에 생성된 인증절차방식 외에 추가할경우 사용 (SSH / winrm / aws 등 대부분 내장된 기능으로 사용가능)
알람관리
AWX에서 수행하는 Template에 대한 알람수신 방법 관리
- 알람 정책 관리 (ADMINISTRATION → NOTIFICATION TEMPLATES)
- 알람방법 생성( 버튼 선택)
- 알람설정
- 이메일 설정
- 그라파나 설정
- 그라파나 정책 사용자 입력화면
- 항목별 상세설명
항 목 설 명 비 고 GRAFANA URL 그라파나 api서비스 url 필수 GRAFANA API KEY 그라파나에서 할당받은 api key 필수 ID OF THE DASHBOARD 그라파나 계정에 대해 api키 만들때 고유한 ID로 대쉬보드 설정 옵션 ID OF THE PANEL 그라파나에서 패널/그래프를 추가한 경우 해당 ID 옵션 TAGS FOR THE ANNOTATION 이벤트 유형을 기재 옵션 DISABLE SSL VERIFICATION 그라파나 접속시 SSL 인증서 확인절차 제외 여부 옵션
- 그라파나 정책 사용자 입력화면
- 힙챗
- 힙챗 정책 사용자 입력화면
ㅂ - 항목별 상세설명
- 힙챗 정책 사용자 입력화면
관리작업
Cleanup 작업 관리 (ADMINISTRATION → MANAGEMENT JOBS)
- Cleanup Activity Stream (활동내역 삭제)
- Cleanup Expired OAuth 2 Tokens (만료된 2차 토큰정보 삭제)
- Cleanup Expired Sessions (만료된 인증정보 삭제)
- Cleanup Job Details (작업 내역 삭제)
인스턴스 그룹
인스턴스별 동작방식 및 작업 실행 방식 설정
AWX-UI 설정
UI기능 설정
- Authentication
- Azure / github / Google / LDAP / RADIUS 계정을 통해 로그인시 사용
- Jobs
- Ad hoc 을 사용할 수 있는 모듈 구성, 예약 작업 수 설정 가능
- 설정 화면
- 항목별 상세설명
항 목 값 설명 비 고 ANSIBLE MODULES ALLOWED FOR AD HOC JOBS 임시작업으로 사용할 수 있는 명령어 종류 JOB EXECUTION PATH 작업수행을 위한 임시 경로 /tmp MAXIMUM SCHEDULED JOBS 최대 예약작업 갯수 10 PATHS TO EXPOSE TO ISOLATED JOBS 격리된 작업시 허용되는 경로 (전체 경로 정보 입력필요 격리 작업 미사용 PATHS TO HIDE FROM ISOLATED JOBS 격리된 작업시 숨길 경로 (전체 경로 정보 입력필요 격리 작업 미사용 ENABLE JOB ISOLATION 작업 격리기능 사용여부 미설정 DEFAULT JOB TIMEOUT 최대 작업 시간 (초단위) 0(무제한) DEFAULT INVENTORY UPDATE TIMEOUT 최대 인벤토리 업데이트 시간 (초단위) 0(무제한) RUN PROJECT UPDATES WITH HIGHER VERBOSITY 프로젝트 업데이트 실행시 자세한 정보 출력 미설정 PER-HOST ANSIBLE FACT CACHE TIMEOUT 호스트 단위로 팩트캐쉬 시간 (초단위) 0(무제한) PRIMARY GALAXY SERVER URL 기본 ANSIBLE-GALAXY URL 변경시 사용 galaxy.ansible.com PRIMARY GALAXY SERVER NAME private galaxy 접근시 사용하는 계정 PRIVATE GALAXY 미사용 PRIMARY GALAXY SERVER PASSWORD private galaxy 접근시 사용하는 계정 패스워드 PRIVATE GALAXY 미사용 PRIMARY GALAXY SERVER TOKEN private galaxy 접근시 사용하는 토큰정보 PRIVATE GALAXY 미사용 PRIMARY GALAXY AUTHENTICATION URL private galaxy 접근시 사용하는 인증경로 PRIVATE GALAXY 미사용 ALLOW ACCESS TO PUBLIC GALAXY 공개된 Galaxy사용여부 활성화 ISOLATED HOST KEY CHECKING 격리된 호스트 키 확인여부 비활성화
격리 작업 미사용ISOLATED STATUS CHECK INTERVAL 격리정보 확인 (초단위) 30 ISOLATED LAUNCH TIMEOUT 최대 격리된 작업 실행 시간 (초단위) 600
격리 작업 미사용ISOLATED CONNECTION TIMEOUT 최대 격리호스트 연결시간 (초단위) 10
격리 작업 미사용ENABLE DETAILED RESOURCE PROFILING ON ALL PLAYBOOK RUNS 플래이북 실행시 리소스 프로파일링 설정여부 비활성화 EXTRA ENVIRONMENTVARIABLES AWX-UI에서 사용할 추가 환경 변수 ANSIBLE CALLBACK PLUGINS ansible에서 사용할 콜백용 플러그인
- system
- AWX-UI의 기본URL, URL및 기본 가시정보 설정
- 설정화면
- 항목별 상세설명
항 목 값 설명 비 고 BASE URL OF THE TOWER HOST AWX-UI URL정보 ALL USER VISIBLE TO ORGANIZATION ADMINS 관리자가 모든 사용자 확인 가능 여부 활성화 ORGANIZATION ADMINS CAN MANAGE USERS AND TEAMS 관리자가 사용자 및 팀 관리 허용 여부 활성화 IDLE TIME FORCE LOG OUT 유휴세션 강제 로그아웃 (초단위) 1800 MAXIMUM NUMBER OF SIMULTANEOUS LOGGED IN SESSIONS 최대 동시 로그인 세션수 -1 (비활성화) ENABLE HTTP BASIC AUTH HTTP 인증기능 허용여부 활성화 ALLOW EXTERNAL USERS TO CREATE OAUTH2 TOKENS 외부사용자가 OATUTH2 토큰 생성 허용여부 비활성화 LOGIN REDIRECT OVERRIDE URL 미로그인 사용자가 로그인 하도록 리다이렉션 URL 공란인 경우 기본 로그인 페이지 ACCESS TOKEN EXPIRATION 엑세스 토큰 유효기간 (초단위) 31536000000 REFRESH TOKEN EXPIRATION 토큰 만료시 지속시간 (초단위) 2628000 AUTHORIZATION CODE EXPIRATION 로그인시 생서되는 인증코드 유효기간 (초단위) 600 REMOTE HOST HEADER 원격 호스트 IP / 호스트이름 추가 기본값 : REMOTE_ADDR, REMOTE_HOST 리버스 프록시ip가 있는 경우 HTTP_X_FORWARDED_FOR 추가 CUSTOM VIRTUAL ENVIRONMENT PATHS 가상의 환경값 설정 경로 비활성화 GATHER DATA FOR AUTOMATION ANAYTICS AWX-UI에서 수집된 데이터를 Redhat으로 전달 비활성화 RED HAT CUSTOMER USERNAME redhat 고객 ID Redhat과 별도 계약시 사용가능 RED HAT CUSTOMER PASSWORD redhat 고객 password Redhat과 별도 계약시 사용가능 AUTOMATION ANALYTICS UPLOAD URL 자동화 분석을 위한 업로드 URL 자동화 분석 미사용 AUTOMATION ANALYTICS GATHER INTERVAL 자동화 분석을 위한 수집간격 자동화 분석 미사용
- User Interface