주:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
AWX 컬렉션을 사용하여 Oracle Linux Automation Manager 관리
소개
AWX Ansible Collection을 사용하면 관리자가 플레이북을 통해 Oracle Linux Automation Manager와 상호 작용할 수 있습니다. 모듈에는 사용자 및 그룹 관리, 프로젝트 생성 및 실행 중인 작업과 같은 작업을 수행하는 기능이 포함됩니다.
목표
이 자습서에서는 다음을 수행하는 방법을 배웁니다.
- DevOps 및 Oracle Linux Automation Manager 인스턴스 배치
- DevOps 인스턴스에서 구성 파일 설정
- 작업을 실행하는 데 필요한 항목을 만드는 플레이북 작성
- 플레이북 테스트 및 확인
필요 조건
- Oracle Linux Automation Engine 플레이북 실행을 위한 제어 노드
- Oracle Linux Automation Manager 인스턴스
Oracle Linux Automation Manager 배포
주: 고유 테넌시에서 실행 중인 경우 랩 환경을 배치하기 전에 linux-virt-labs
GitHub 프로젝트 README.md을 읽고 필요 조건을 완료하십시오.
-
Luna Desktop에서 터미널을 엽니다.
-
linux-virt-labs
GitHub 프로젝트를 복제합니다.git clone https://github.com/oracle-devrel/linux-virt-labs.git
-
작업 디렉토리로 변경합니다.
cd linux-virt-labs/olam
-
필요한 모음을 설치합니다.
ansible-galaxy collection install -r requirements.yml
-
Oracle Linux 인스턴스 구성을 업데이트합니다.
cat << EOF | tee instances.yml > /dev/null compute_instances: 1: instance_name: "olam-node" type: "control" olam_type: single EOF
-
재고 파일을 생성합니다.
cat << EOF | tee hosts > /dev/null localhost ansible_connection=local ansible_connection=local ansible_python_interpreter=/usr/bin/python3.6 EOF
-
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 배포 확인
-
새 터미널을 엽니다.
-
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분 동안 열어 두고, 자동으로 닫기 전에 설정된 연결을 기다립니다.
-
웹 브라우저를 열고 URL을 입력합니다.
https://localhost:8444
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome의 경우
Advanced
단추를 누른 다음Proceed to localhost (unsafe)
링크를 누릅니다. -
배치 중 생성된 사용자 이름
admin
및 비밀번호admin
을 사용하여 Oracle Linux Automation Manager에 로그인합니다. -
로그인한 후 웹 UI가 표시됩니다.
컨트롤러 구성 파일 만들기
AWX Ansible Collection은 구성 파일을 활용하며 경우에 따라 AWX CLI를 통해 Oracle Linux Automation Manager에 대해 인증합니다. 인증 매개변수는 CLI를 사용하여 명령줄에 직접 전달하거나 구성 파일에 쓸 수 있습니다.
인증 파라미터를 지정할 때 AWX Ansible Collection에는 다음 중 하나의 조합이 필요합니다.
- 호스트, 사용자 이름, 비밀번호
- 호스트, OAuth2 토큰
자세한 내용은 업스트림 프로젝트에서 확인할 수 있습니다.
-
SSH 터널을 만든 터미널로 돌아갑니다.
-
구성 파일을 생성합니다.
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를 통해 이를 생성하는 대신 플레이북을 작성할 수 있습니다.
-
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
-
Playbook을 실행합니다.
ansible-playbook configure-olam.yaml
-
웹 UI에서 변경 사항을 확인합니다.
브라우저를 사용하여 웹 UI에 로그인합니다.
주: 로그인 실패가 발생할 경우 SSH 터널이 만료되었을 수 있습니다. 이 경우 SSH 명령을 재실행하여 연결을 재설정해야 합니다.
네비게이션 메뉴에서 조직을 누릅니다. 플레이북이 만든 Example 항목을 확인합니다.
작업 실행
조직이 생성되면 몇 가지 수정 사항으로 시작하기 자습서의 나머지 단계를 자동화해 보겠습니다. Oracle Linux Automation Engine의 이점 중 하나는 자체 문서화입니다.
-
플레이북을 만든 터미널로 돌아갑니다.
-
기존 플레이북에 추가 구성을 추가합니다.
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
-
플레이북을 다시 실행합니다.
ansible-playbook configure-olam.yaml
플레이북은 작업의 상태를
successful
로 표시하는 마지막 재생과 함께 무시할 수 있다는 경고와 함께 끝납니다. -
웹 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를 참조하십시오.
Manage Oracle Linux Automation Manager Using the AWX Collection
G32877-02
Copyright ©2024, Oracle and/or its affiliates.