주:
- 이 자습서는 Oracle에서 제공하는 무료 실습 환경에서 사용할 수 있습니다.
- Oracle Cloud Infrastructure 자격 증명, 테넌시 및 구획에 예제 값을 사용합니다. 실습을 완료했으면 이러한 값을 자신의 클라우드 환경과 관련된 값으로 대체하십시오.
Oracle Linux Automation Manager에서 사용자 정의 실행 환경 사용
소개
Oracle Linux Automation Manager는 사용자 정의 실행 환경(ee)을 사용하여 기본 olam-ee 이미지에서 사용할 수 없는 컬렉션 및 기타 리소스가 포함된 플레이북을 활용할 수 있습니다. Builder 유틸리티를 사용하여 빌드하고 Private Automation Hub에 저장한 다음 Oracle Linux Automation Manager로 가져옵니다.
이 모든 것이 어떻게 함께 작동합니까?
이 사용지침서에서는 미리 빌드된 이미지를 Private Automation Hub에 업로드한 다음 Oracle Linux Automation Manager로 가져와서 플레이북을 실행하는 방법을 보여줍니다. 사용자 정의 실행 환경 생성에 대한 자세한 내용은 Builder 유틸리티의 자습서 및 Private Automation Hub의 이 자습서를 참조하십시오.
목표
이 자습서에서는 다음을 수행하는 방법을 배웁니다.
- 플레이북을 사용하여 커스텀 ee를 Private Automation Hub으로 푸시
- Oracle Linux Automation Manager에 사용자 정의 ee 추가
- 사용자 정의 ee를 사용하여 작업 실행
필요 조건
- Oracle Linux를 실행하는 3개의 시스템
- Builder 유틸리티를 사용하는 개발 환경
- Private Automation Hub용 솔루션
- 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: "devops-node" type: "server" 2: instance_name: "ol-pah" type: "server" 3: instance_name: "olam-node" type: "control" passwordless_ssh: true use_olam_builder: true use_olam_pah: true EOF
-
lab 환경을 배치합니다.
ansible-playbook create_instance.yml -e ansible_python_interpreter="/usr/bin/python3.6" -e "@instances.yml"
무료 실습 환경에서는 Oracle Cloud Infrastructure SDK for Python용 RPM 패키지를 설치하므로 추가 변수
ansible_python_interpreter
이 필요합니다. 이 패키지의 설치 위치는 python3.6 모듈 아래에 있습니다.기본 배치 구성은 AMD CPU 및 Oracle Linux 8을 사용합니다. Intel CPU 또는 Oracle Linux 9를 사용하려면 배치 명령에
-e instance_shape="VM.Standard3.Flex"
또는-e os_version="9"
를 추가합니다.중요: 플레이북이 성공적으로 실행될 때까지 기다렸다가 일시 중지 작업에 도달합니다. 플레이북의 이 단계에서 Oracle Linux Automation Manager 설치가 완료되고 인스턴스가 준비됩니다. 배포하는 노드의 공용 및 전용 IP 주소를 인쇄하는 이전 플레이를 기록해 둡니다.
사용자정의 실행 환경을 Private Automation Hub로 푸시
Private Automation Hub 자습서에 나와 있는 것처럼 커스텀 ee를 Private Automation Hub로 푸시하는 한 가지 방법은 명령행에서 podman을 사용하는 것입니다. 플레이북 및 containers.podman 모음을 사용하여 이 작업을 수행할 수도 있습니다.
-
터미널을 열고 SSH를 통해 devops-node 인스턴스에 연결합니다.
ssh oracle@<ip_address_of_instance>
-
Oracle Linux Automation Engine을 설치합니다.
sudo dnf install ansible-core -y
-
필요한 모음을 설치합니다.
ansible-galaxy collection install containers.podman
-
사용자 정의 ee 이미지에 태그를 지정하고 푸시할 플레이북을 만듭니다.
tee push-image.yml > /dev/null <<EOF --- - hosts: localhost collections: - containers.podman tasks: - name: get domain_name command: hostname -d register: domain_name - name: output domain_name var debug: msg: "{{domain_name.stdout}}" - name: push image to pah containers.podman.podman_image: name: my_custom_ee push: true push_args: dest: ol-pah.{{domain_name.stdout}}/my_first_olam_ee_image:latest username: admin password: password validate_certs: false EOF
-
Playbook을 실행합니다.
ansible-playbook push-image.yml
플레이북은
localhost
에서 실행되므로 정의된 인벤토리 파일이 필요하지 않습니다.
Private Automation Hub에 이미지가 있는지 확인
-
Luna Desktop에서 새 터미널을 엽니다.
-
Private Automation Hub에 대한 SSH 터널을 구성합니다.
ssh -L 5444:localhost:443 oracle@<ip_address_of_ol-pah>
-
웹 브라우저를 열고 URL을 입력합니다.
https://localhost:5444
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome의 경우
Advanced
단추를 누른 다음Proceed to localhost (unsafe)
링크를 누릅니다. -
Private Automation Hub WebUI에 로그인합니다.
Username
admin
및 Passwordpassword
을 사용합니다. 사용 가능한 실습 환경에서는 연습 배치 중에 이 암호 값을 설정합니다. -
로그인 성공 후 WebUI가 표시됩니다.
-
Private Automation Hub WebUI의 왼쪽 상단 모서리에 있는 탐색 메뉴를 클릭합니다.
-
실행 환경 및 실행 환경으로 이동합니다.
-
새 my_first_olam_ee_image가 기본 패널에 표시됩니다.
플레이북 만들기
Oracle Linux Automation Manager 관리자는 수동 소스 제어를 사용하는 프로젝트가 활용할 수 있는 파일 시스템에 로컬로 플레이북을 생성할 수 있습니다. devops-node를 사용하여 Oracle Linux Automation Engine을 사용하여 Oracle Linux Automation Manager에 프로젝트 플레이북을 푸시하는 플레이북을 작성합니다. 플레이북은 해당 인스턴스에만 존재하므로 이 구성은 Oracle Linux Automation Manager의 단일 호스트 설치에서만 작동합니다.
-
터미널로 전환하거나 터미널을 열고 ssh를 통해 devops-node 인스턴스에 연결합니다.
-
프로젝트 디렉토리를 생성하고 작업 디렉토리를 이 디렉토리로 변경합니다.
mkdir ~/project1 cd ~/project1
-
템플리트 생성.
이 템플리트는 호스트의 컨테이너 이미지 목록을 검색하기 위해 Oracle Linux Automation Manager 서버의 파일 시스템에 기록할 플레이북 파일입니다.
mkdir templates tee templates/list-images.yml.j2 > /dev/null <<EOF --- - hosts: all collections: - containers.podman become: yes tasks: - name: gather info on images containers.podman.podman_image_info: register: podman_list become_user: oracle - name: list images debug: msg: "{{ podman_list.images | selectattr('RepoTags') '}}" EOF
-
이 프로젝트를 Oracle Linux Automation Manager로 푸시하는 플레이북을 생성합니다.
tee push-project.yml > /dev/null <<EOF --- - hosts: olam-node become: yes tasks: - name: create project directory ansible.builtin.file: path: /var/lib/awx/projects/podman state: directory become_user: awx - name: create playbook ansible.builtin.template: src: templates/list-images.yml.j2 dest: /var/lib/awx/projects/podman/list-images.yml become_user: awx EOF
-
재고 파일을 생성합니다.
tee hosts > /dev/null <<EOF [olam] olam-node EOF
-
Oracle Linux Automation Manager 서버에 플레이북을 복사합니다.
ansible-playbook -i hosts push-project.yml
Oracle Linux Automation Manager에 사용자 정의 실행 환경 추가
WebUI에 로그인합니다.
-
Luna Desktop에서 새 터미널을 엽니다.
-
Oracle Linux Automation Manager에 대한 SSH 터널을 구성합니다.
ssh -L 8444:localhost:443 oracle@<ip_address_of_ol-node>
무료 실습 환경에서는 olam-node 인스턴스의 IP 주소를 사용합니다.
-
웹 브라우저를 열고 URL을 입력합니다.
https://localhost:8444
주: 사용된 브라우저를 기반으로 보안 경고를 승인합니다. Chrome의 경우 고급 버튼을 누른 다음 로컬 호스트로 진행(안전하지 않음) 링크를 누릅니다.
-
Oracle Linux Automation Manager WebUI에 로그인합니다.
Username
admin
및 Passwordadmin
을 사용합니다. 사용 가능한 실습 환경에서는 연습 배치 중에 이 암호 값을 설정합니다. -
로그인 성공 후 WebUI가 표시됩니다.
컨테이너 레지스트리 인증서 추가
-
탐색 메뉴의 리소스에서 인증서를 누릅니다.
-
기본 패널에서 Add(추가) 버튼을 누릅니다.
-
특정 필드에서 다음 값을 입력하거나 선택합니다.
검색 또는 값 목록이 있는 필드의 경우 요청된 값을 입력한 다음 선택할 수 있습니다.
- 이름:
My Private Automation Hub
- 조직:
Default
- 인증서 유형: 컨테이너 레지스트리
- 인증 URL: Private Automation Hub용 FQDN
- 사용자 이름:
admin
- 비밀번호 또는 토큰:
password
- 옵션: SSL 확인을 선택 취소합니다.
Private Automation Hub에 대한 FQDN을 모르는 경우 터미널을 사용하여 ol-pah 인스턴스에 연결한 다음
hostname -f
를 실행합니다.Oracle Linux Automation Manager는 컨테이너 레지스트리 인증서를 사용하여 Private Automation Hub의 컨테이너 이미지에 액세스합니다. 무료 실습 환경에서는 자체 서명된 인증서 사용으로 인해 Verify SSL 설정을 선택 해제해야 합니다.
- 이름:
-
항목을 검토하고 Save 버튼을 누릅니다.
실행 환경 추가
-
탐색 메뉴의 관리에서 실행 환경을 누릅니다.
-
기본 패널에서 Add(추가) 버튼을 누릅니다.
-
특정 필드에서 다음 값을 입력하거나 선택합니다.
검색 또는 값 목록이 있는 필드의 경우 요청된 값을 입력한 다음 선택할 수 있습니다.
- 이름:
My Custom EE
- 이미지:
<fqdn_of_the_private_automation_hub>/my_first_olam_ee_image:latest
- 레지스트리 인증서: My Private Automation Hub
- 이름:
-
항목을 검토하고 Save 버튼을 누릅니다.
실행 환경 테스트
사용자정의 실행 환경을 테스트할 때는 인벤토리, 호스트, 머신 인증서 및 프로젝트를 포함하는 작업 템플리트가 필요합니다.
재고 추가
-
탐색 메뉴의 리소스에서 재고를 누릅니다.
-
기본 패널에서 추가 단추를 누르고 값 목록에서 인벤토리 추가를 선택합니다.
-
특정 필드에 다음 값을 입력합니다.
- 이름:
Oracle Linux Hosts
- 이름:
-
항목을 검토하고 Save 버튼을 누릅니다.
호스트를 추가하십시오
-
Oracle Linux 호스트 인벤토리 세부정보 패널에서 호스트 탭을 누릅니다.
-
추가 단추를 누릅니다.
-
Name(이름) 필드에 호스트 이름 devops-node를 입력합니다.
-
항목을 검토하고 Save 버튼을 누릅니다.
시스템 인증서 추가
-
탐색 메뉴의 리소스에서 인증서를 누릅니다.
-
기본 패널에서 Add(추가) 버튼을 누릅니다.
-
특정 필드에서 다음 값을 입력하거나 선택합니다.
검색 또는 값 목록이 있는 필드의 경우 요청된 값을 입력한 다음 선택할 수 있습니다.
- 이름:
Oracle Linux SSH Access
- 조직:
Default
- 인증서 유형: 시스템
- 사용자 이름:
opc
- SSH 개인 키: ~/.SSH 디렉토리에서 id_rsa 키를 선택합니다.
SSH 개인 키를 확보하는 한 가지 방법은 해당 필드에 대해 찾아보기 옵션을 선택하는 것입니다. 파일 업로드 대화상자에서 홈을 선택하고 해당 대화상자의 기본 창을 마우스 오른쪽 버튼으로 누릅니다. 숨겨진 파일 표시를 선택합니다. .ssh 폴더와 id_rsa 파일을 선택합니다. Open 버튼을 누르면 개인 키 파일의 내용이 SSH Private Key 대화 상자에 복사됩니다.
- 이름:
-
항목을 검토하고 페이지 하단으로 스크롤한 다음 Save 버튼을 누릅니다.
새 프로젝트 생성
-
탐색 메뉴의 리소스에서 프로젝트를 누릅니다.
-
기본 패널에서 Add(추가) 버튼을 누릅니다.
-
특정 필드에서 다음 값을 입력하거나 선택합니다.
검색 또는 값 목록이 있는 필드의 경우 요청된 값을 입력한 다음 선택할 수 있습니다.
- 이름:
Container Management
- 실행 환경: 내 사용자정의 EE
- 소스 제어 인증서 유형: 수동
- 플레이북 디렉토리: podman
- 이름:
-
항목을 검토하고 Save 버튼을 누릅니다.
작업 템플리트 추가
-
탐색 메뉴의 리소스에서 템플리트를 누릅니다.
-
기본 패널에서 추가 단추를 누르고 값 목록에서 작업 템플리트 추가를 선택합니다.
-
특정 필드에서 다음 값을 입력하거나 선택합니다.
검색 또는 값 목록이 있는 필드의 경우 요청된 값을 입력한 다음 선택할 수 있습니다.
- 이름:
List Images
- 작업 유형: 실행
- 재고: Oracle Linux 호스트
- 프로젝트: 컨테이너 관리
- 실행 환경: 내 사용자정의 EE
- 재생책: list-images.yml
- 인증서: Oracle Linux SSH 액세스
- 이름:
-
항목을 검토하고 페이지 하단으로 스크롤한 다음 Save 버튼을 누릅니다.
템플리트 실행
-
탐색 메뉴의 리소스에서 템플리트를 누릅니다.
-
작업 열에서 이미지 나열 작업 템플리트 옆에 있는 템플리트 실행 아이콘을 누릅니다.
작업이 시작되고 패널이 Job Output Summary(작업 출력 요약)로 전환됩니다. 몇 분이 지나면 작업이 실패합니다.
이 오류는 새 사용자 정의 ee에 containers.podman 모음이 포함되어 있지 않아서 플레이북이 실행되지 않기 때문에 발생합니다.
사용자 정의 실행 환경 수정
사용자 지정 ee를 수정하려면 Builder 유틸리티를 사용하여 컨테이너 이미지를 재구축한 다음 Oracle Linux Automation Manager의 픽업을 위해 새 이미지를 Private Automation Hub로 푸시해야 합니다.
-
터미널로 전환하거나 터미널을 열고 ssh를 통해 devops-node 인스턴스에 연결합니다.
-
사용자 정의 ee 프로젝트 디렉토리로 변경합니다.
cd ~/my_custom_ee_project
-
Ansible Galaxy 요구 사항 파일에 누락된 컬렉션을 추가합니다.
tee -a requirements.yml > /dev/null <<EOF - name: containers.podman EOF
-
이미지를 재작성합니다.
ansible-builder build --tag my_custom_ee -v 3
-
새 이미지를 Private Automation Hub로 푸시합니다.
cd ~ ansible-playbook push-image.yml
-
성공적인 이미지 푸시를 확인합니다.
Private Automation Hub WebUI에 연결하여 실행 환경 변경 사항, 특히 my_first_olam_ee_image에 대한 마지막 수정 열을 검토합니다.
새 사용자 정의 실행 환경 테스트
-
브라우저를 Oracle Linux Automation Manager WebUI로 전환합니다.
브라우저 창을 새로 고치고 필요한 경우 다시 로그인합니다.
-
탐색 메뉴의 관리에서 실행 환경을 누릅니다.
-
내 사용자정의 EE 이미지 링크 옆에 있는 작업 열에서 실행 환경 편집 아이콘을 누릅니다.
-
풀 값을 실행하기 전에 항상 컨테이너 풀링으로 변경합니다.
이 필드는
podman
에 대해--pull
옵션을 사용으로 설정합니다. 설정 변경 시 계층 체크섬이 일치하지 않으면 Oracle Linux Automation Manager가 최신 이미지를 강제로 가져옵니다. -
변경 사항을 검토하고 Save 버튼을 누릅니다.
-
탐색 메뉴의 보기에서 작업을 누릅니다.
-
Click the Relaunch icon under the Actions column next to the …List Images link.
값 드롭다운 목록에서 모두를 선택합니다.
작업이 시작되고 패널이 Job Output Summary(작업 출력 요약)로 전환됩니다. 몇 분 후 성공적으로 완료됩니다.
다음 단계
WebUI 내의 출력은 Oracle Linux Automation Manager 내에서 사용자 정의 실행 환경이 작동 중임을 확인합니다. 기술을 습득하고 Oracle Linux Training Station에서 Oracle의 다른 Oracle Linux Automation Manager 교육을 확인하십시오.
관련 링크
추가 학습 자원
docs.oracle.com/learn에서 다른 실습을 탐색하거나 Oracle Learning YouTube 채널에서 더 많은 무료 학습 콘텐츠에 액세스하세요. 또한 Oracle Learning Explorer가 되려면 education.oracle.com/learning-explorer을 방문하십시오.
제품 설명서는 Oracle Help Center를 참조하십시오.
Use Custom Execution Environments with Oracle Linux Automation Manager
G32011-02
Copyright ©2023, Oracle and/or its affiliates.