주:

AWX 컬렉션을 사용하여 Oracle Linux Automation Manager 관리

소개

AWX Ansible Collection을 사용하면 관리자가 플레이북을 통해 Oracle Linux Automation Manager와 상호 작용할 수 있습니다. 모듈에는 사용자 및 그룹 관리, 프로젝트 생성 및 실행 중인 작업과 같은 작업을 수행하는 기능이 포함됩니다.

목표

이 자습서에서는 다음을 수행하는 방법을 배웁니다.

필요 조건

Oracle Linux Automation Manager 배포

주: 고유 테넌시에서 실행 중인 경우 랩 환경을 배치하기 전에 linux-virt-labs GitHub 프로젝트 README.md을 읽고 필요 조건을 완료하십시오.

  1. Luna Desktop에서 터미널을 엽니다.

  2. linux-virt-labs GitHub 프로젝트를 복제합니다.

    git clone https://github.com/oracle-devrel/linux-virt-labs.git
    
  3. 작업 디렉토리로 변경합니다.

    cd linux-virt-labs/olam
    
  4. 필요한 모음을 설치합니다.

    ansible-galaxy collection install -r requirements.yml
    
  5. Oracle Linux 인스턴스 구성을 업데이트합니다.

    cat << EOF | tee instances.yml > /dev/null
    compute_instances:
      1:
        instance_name: "olam-node"
        type: "control"
    olam_type: single
    EOF
    
  6. 재고 파일을 생성합니다.

    cat << EOF | tee hosts > /dev/null
    localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6
    EOF
    
  7. lab 환경을 배치합니다.

    ansible-playbook create_instance.yml -i hosts -e "@instances.yml"
    

    무료 실습 환경에서는 Python용 Oracle Cloud Infrastructure SDK에 대한 RPM 패키지를 설치하므로 localhost에 대한 추가 변수 ansible_python_interpreter가 필요합니다. 이 패키지 설치 위치는 사용 중인 Oracle Linux 버전을 기반으로 하는 시스템의 기본 Python 모듈 아래에 있습니다. 인벤토리 변수를 사용하면 localhost 이외의 호스트에서 실행되는 재생에 영향을 주지 않습니다.

    기본 배치 구성은 AMD CPU를 사용합니다. 명령행에서 새 쉐이프 변수 정의를 전달하여 인스턴스의 쉐이프를 변경할 수 있습니다.

    예: -e instance_shape="VM.Standard3.Flex"

    마찬가지로 Oracle Linux 이미지의 기본 버전은 `default_vars.yml 파일에 정의된 os_version 변수를 사용합니다. 명령줄에서 Oracle Linux 주 버전을 전달하여 이 값을 수정할 수 있습니다.

    예: -e os_version="9"

    중요: 플레이북이 성공적으로 실행될 때까지 기다렸다가 일시 중지 작업에 도달합니다. 플레이북의 이 단계에서 Oracle Linux 설치가 완료되고 인스턴스가 준비됩니다. 이전 플레이에서 배포하는 노드의 공용 및 전용 IP 주소를 인쇄합니다.

Oracle Linux Automation Manager 배포 확인

  1. 새 터미널을 엽니다.

  2. Oracle Linux Automation Manager 인스턴스에 대한 SSH 터널을 구성합니다.

    ssh -o ExitOnForwardFailure=yes -f -L 8444:localhost:443 oracle@<public_ip_address_of_olam-node> sleep 300
    
    • -o ExitOnForwardFailure=yes: 모든 원격 포트가 성공적으로 설정될 때까지 기다립니다.
    • -f: 백그라운드에서 SSH 터널을 실행합니다.
    • -L: 로컬 시스템의 포트 8444 및 원격 시스템의 포트 443에 터널을 만듭니다.
    • sleep 300: 원격 터널을 5분 동안 열어 두고, 자동으로 닫기 전에 설정된 연결을 기다립니다.
  3. 웹 브라우저를 열고 URL을 입력합니다.

    https://localhost:8444
    

    주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome의 경우 Advanced 단추를 누른 다음 Proceed to localhost (unsafe) 링크를 누릅니다.

  4. 배치 중 생성된 사용자 이름 admin 및 비밀번호 admin을 사용하여 Oracle Linux Automation Manager에 로그인합니다.

    olam2-로그인

  5. 로그인한 후 웹 UI가 표시됩니다.

    olam2-부이

컨트롤러 구성 파일 만들기

AWX Ansible Collection은 구성 파일을 활용하며 경우에 따라 AWX CLI를 통해 Oracle Linux Automation Manager에 대해 인증합니다. 인증 매개변수는 CLI를 사용하여 명령줄에 직접 전달하거나 구성 파일에 쓸 수 있습니다.

인증 파라미터를 지정할 때 AWX Ansible Collection에는 다음 중 하나의 조합이 필요합니다.

자세한 내용은 업스트림 프로젝트에서 확인할 수 있습니다.

  1. SSH 터널을 만든 터미널로 돌아갑니다.

  2. 구성 파일을 생성합니다.

    cat << EOF | tee ~/.tower_cli.cfg > /dev/null
    [general]
    host: https://localhost:8444
    verify_ssl: false
    username: admin
    password: admin
    use_token = false
    EOF
    
    • host: - Oracle Linux Automation Manager 웹 UI에 액세스하는 URL을 정의합니다.
    • verify_ssl: - 자습서 환경에서 자체 서명된 인증서를 사용하므로 엄격한 SSL 검사를 해제합니다.
    • use_token: - OAuth2 토큰을 사용하는 것이 좋지만 false로 설정하면 인증에 사용할 토큰이 해제됩니다.

조직 생성

시작하기 자습서에서 다루는 바와 같이 조직은 역할 기반 피라미드의 맨 위에 있으며 사용자, 팀, 프로젝트 및 인벤토리의 논리적 모음입니다.

웹 UI를 통해 이를 생성하는 대신 플레이북을 작성할 수 있습니다.

  1. Playbook을 작성합니다.

    cat << EOF | tee configure-olam.yaml > /dev/null
    ---
    - name: Playbook to set up training demo data using the AWX collection
      hosts: localhost
      gather_facts: false
      collections:
        - awx.awx
    
      tasks:
    
      - name: Create an organization
        awx.awx.organization:
          name: "Example"
          description: "Created using a playbook"
          state: present
    
    EOF
    
  2. Playbook을 실행합니다.

    ansible-playbook configure-olam.yaml
    
  3. 웹 UI에서 변경 사항을 확인합니다.

    브라우저를 사용하여 웹 UI에 로그인합니다.

    : 로그인 실패가 발생할 경우 SSH 터널이 만료되었을 수 있습니다. 이 경우 SSH 명령을 재실행하여 연결을 재설정해야 합니다.

    네비게이션 메뉴에서 조직을 누릅니다. 플레이북이 만든 Example 항목을 확인합니다.

작업 실행

조직이 생성되면 몇 가지 수정 사항으로 시작하기 자습서의 나머지 단계를 자동화해 보겠습니다. Oracle Linux Automation Engine의 이점 중 하나는 자체 문서화입니다.

  1. 플레이북을 만든 터미널로 돌아갑니다.

  2. 기존 플레이북에 추가 구성을 추가합니다.

    cat << EOF | tee -a configure-olam.yaml > /dev/null
      - name: Add a user
        awx.awx.user:
          username: jdoe
          password: oracle
          email: jdoe@example.com
          first_name: John
          last_name: Doe
          organization: Example
          state: present
    
      - name: Add an inventory
        awx.awx.inventory:
          name: "Demo Inventory"
          description: "Demo OCI Instances"
          organization: Example
          state: present
    
      - name: Add a host
        awx.awx.host:
          name: localhost
          description: "Use to run tasks locally"
          inventory: "Demo Inventory"
          state: present
          variables:
            ansible_connection: local
    
      - name: Add a credential
        awx.awx.credential:
          name: "Linux Instance"
          credential_type: Machine
          organization: Example
          inputs:
            username: opc
            ssh_key_data: ""
    
      - name: Add a project
        awx.awx.project:
          name: "Hello World"
          description: "Sample Hello World Project"
          organization: Example
          default_environment: "OLAM EE (2.3)"
          scm_type: "git"
          scm_update_on_launch: false
          scm_url: https://github.com/oracle-devrel/linux-virt-labs.git
          state: present
    
      - name: Add a template
        awx.awx.job_template:
          name: "Say Hello"
          job_type: "run"
          organization: Example
          inventory: "Demo Inventory"
          project: "Hello World"
          playbook: "labs/olam-hello-world.yaml"
          state: present
    
      - name: Launch a job
        awx.awx.job_launch:
          job_template: "Say Hello"
          wait: true
        register: job
    
      - name: Print results from job
        ansible.builtin.debug:
          var: job
    
    EOF
    
  3. 플레이북을 다시 실행합니다.

    ansible-playbook configure-olam.yaml
    

    플레이북은 작업의 상태를 successful로 표시하는 마지막 재생과 함께 무시할 수 있다는 경고와 함께 끝납니다.

  4. 웹 UI에서 작업을 확인합니다.

    브라우저를 사용하여 Jobs로 이동하고 Say Hello 작업을 누릅니다. 출력에는 작업 중 플레이북 실행 결과가 표시됩니다. 디버그 작업의 welcome 메시지를 확인합니다.

다음 단계

웹 UI의 출력에서는 작업 중인 Oracle Linux Automation Manager가 있으며 보다 일반적인 작업 중 일부를 관리하기 위한 플레이북을 작성했음을 확인합니다.

추가 학습 자원

docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.

제품 설명서는 Oracle Help Center를 참조하십시오.