반응형
  1. Templates 생성
    • RESOURCES > Templates를 클릭
    • 우측 화면의 를 선택하면 이 표시되며 이중 Job Template를 선택
    • Workflow Template 는 추후 업데이트 필요
    • NAME : HelloWorld
    • JOB TYPE : Run
    • INVENTORY : AWX_TEST (Inventories에서 생성)
    • PROJECT : awx_test (Projects에서 생성)
    • PLAYBOOK : helloworld.yml (yaml에서 생성)
    • CREDENTIAL : AWX_CRED (Credentials에서 생성, 미 선택시 Node VM과 통신이 실패하여 Template 실행 시 Failed가 됨)
    • 나머지는 기본으로 두고 를 눌러 저장
  2. 저장 이후 기능들이 활성화 됨
  3. 실행
    • 저장하면 하단에 신규 Template가 표시됨
    • 테스트를 위하여 를 클릭하면 Template가 실행 됨
    • 화면이 전환되며, 실행 결과가 다음과 같이 표현 됨
  4. 목표
    • Template의 생성과 실행


반응형
  1. yaml이란
    • YAML Ain't Markup Language의 약어
    • 구조화된 데이터나 오브젝트를 문자열로 변환 및 관리하기 위한 데이터 형식의 한 종류
    • 사람이 쉽게 읽을 수 있는 데이터 직렬화 양식
    • JSON이나 XML과 유사하나 가독성이 뛰어남
    • JSON과 상위 호환
    • 확장자는 대부분 .yml로 표기 (8.3 포맷의 경우)
    • 공백문자의 갯수로 상위와 구분 (탭문자는 사용할 경우 디버깅의 문제가 발생함)
    • 특수문자는 \(역슬래쉬)키와 함께 사용 됨 (c 코딩 패턴과 유사)
  2. yaml 방식 비교
    • 구분
      소스 (단순 비교를 위한 코드임)
      XML<keys>
        <key1> <value>value1</value>
      </key1>   <key2> <value>1</value> <value>2</value> <value>3</value>
      </key2> 

        <key3> <keys> <keys3-1> <value>1</value> </keys3-1> <keys3-2> <value>4</value> <value>5</value> <value>6</value> </keys3-2> </keys>
      </key2>  </keys>
      JSON
      {"key1":"value1","key2":[1,2,3]","key3":{"key3-1":"value3-1","key3-2":"value":[4,5,6]}}
      YAML---
      key1: value1
      key2: [1,2,3]
      key3:
       key3-1: value3-1
       key3-2: [4,5,6]
  3. 샘플 코드 작성
    • 하기 샘플 코드는 다른 명령어로도 가능하나 기본적인 테스트를 위해 작성 됨
    • HOST VM에 접속하여 샘플 코드를 /var/lib/awx/projects/awxtest에 각각 작성하여 저장
    • vi 명령어는 VI명령어 를 참조
    • 주의 : 모든 소스의 들여쓰기는 맞추어야 함(우측 이미지 참고, 탭 사용 금지)
    • helloworld.yml 작성
    • ---
      - name: Hello World!
      hosts: all

      tasks:
      - name: Hello World!
      shell: echo "Hi! It is working"

    • firewall 서비스 시작 (startFirewall.yml)
    • ---
      - name: Turn on the FireWall in system
      hosts: all

      tasks:
      - name: execute command for firewall
      shell: systemctl start firewalld

    • firewall 서비스 중지 (stopFirewall.yml)

    • ---
      - name: Turn on the FireWall in system
      hosts: all

      tasks:
      - name: execute command for firewall
      shell: systemctl stop firewalld

    • 작성 후 최종 화면 (read 권한 확인)
    • -
  4. 목표
    • yaml 파일 생성


AWX 실습 #05_Projects

AWX 2019. 1. 2. 11:04
반응형
  1. Projects 등록
    • RESOURCES > Projects를 눌러 시작
    • 를 눌러 신규 Proejcts의 생성
    • AWX에서 신규 Projects를 생성하기 위해서는 PROJECT BASE PATH에 yml을 등록하기 위한 폴더가 존재해야 함
    • 경고 내용 확인
    • WARNING: There are no available playbook directories in /var/lib/awx/projects. Either that directory is empty, or all of the contents are already assigned to other projects. Create a new directory there and make sure the playbook files can be read by the "awx" system user, or have AWX directly retrieve your playbooks from source control using the SCM Type option above.
      경고 : /var/lib/awx/projects 안에 사용가능한 Playbook 디렉토리가 없습니다. 디렉토리가 비어있거나 모든 컨텐츠는 다른 프로젝트에 할당되어 있습니다. 새로운 디렉토리를 생성하고 playbook 파일을 "awx" 시스템 유저가 읽을 수 있도록 하거나, SCM Type 옵션을 조정하여 playbook들을 소스 제어로부터 직접 받을 수 있도록 하십시오.
    • 위 경고내용처럼 최초 AWX 설치 시 지정한 Projects 폴더내에 신규 폴더가 존재해야 하며, 한번 사용된 폴더는 재 사용이 불가능 함 (재사용 여부는 추후 재 확인 필요)
    • -   
  2. Projects 용 폴더 생성 

    • AWX가 설치된 Host VM에 터미널로 접속하여 테스트 프로젝트용 폴더를 생성
    • -
  3. RESOURCES > Projects 재 접속
    • 를 눌러 신규 Proejcts의 생성
    • 터미널로 생성된 awxtest폴더를 지정 후 를 눌러 저장
  4. 목표
    • 프로젝트 생성