3.5. Ansible을 사용하여 구성 작업 자동화
Ansible은 시스템을 구성하고, 소프트웨어를 배포하고, 롤링 업데이트를 수행하는 데 사용되는 자동화 도구입니다. Red Hat Virtualization에는 설치 후 RHV 작업(예: 데이터 센터 설정 및 구성, 사용자 관리, 가상 시스템 작업)을 자동화하는 제한된 버전의 Ansible이 포함되어 있습니다.
Ansible은 REST API 및 SDK와 비교하여 Red Hat Virtualization 구성을 더 쉽게 자동화하고 다른 Ansible 모듈과 통합할 수 있습니다. Red Hat Virtualization에 사용할 수 있는 Ansible 모듈에 대한 자세한 내용은 Red Hat Ansible Automation Hub 설명서의 oVirt Ansible Collection 을 참조하십시오.
Ansible Tower는 Ansible용 웹 인터페이스 및 REST API를 통해 액세스할 수 있는 그래픽으로 활성화된 프레임워크입니다. Ansible Tower에 대한 지원을 받으려면 Red Hat Virtualization 서브스크립션에 속하지 않는 Ansible Tower 라이센스가 있어야 합니다.
대체 설치 지침은 Ansible 설명서 및 Ansible 사용에 대한 정보를 참조하십시오.
3.5.1. oVirt Ansible 컬렉션
ovirt Ansible Collection 은 Red Hat Virtualization 인프라의 다양한 부분을 관리하기 위한 모듈, 역할 및 플러그인을 제공합니다. 모듈은 Ansible과 Red Hat Virtualization Manager 간의 통신에 사용됩니다. Ansible 역할은 대규모 플레이북을 다른 사용자와 공유할 수 있는 작은 재사용 가능한 파일로 분리하여 Ansible 코드를 모듈화하는 방법을 제공합니다. oVirt Ansible Collection 에 대한 자세한 내용은 Automation Hub 설명서를 참조하십시오.
3.5.1.1. RPM 패키지에서 oVirt Ansible 컬렉션 설치
Red Hat Virtualization Manager 리포지토리에서 oVirt Ansible Collection for Red Hat Virtualization을 설치할 수 있습니다.
사전 요구 사항
oVirt Ansible Collection을 설치하려면 다음 서브스크립션 채널 중 하나에 가입해야 합니다.
- Red Hat Virtualization 서브스크립션 사용 - rhv-4.4-manager-for-rhel-8-x86_64-rpms
- Red Hat Enterprise Linux 서브스크립션 사용 - rhv-4-tools-for-rhel-8-x86_64-rpms
절차
다음 명령을 실행하여 Manager 시스템에 oVirt Ansible Collection 을 설치합니다.
# dnf install ovirt-ansible-collection
기본적으로 컬렉션은 다음을 위해 설치됩니다.
/usr/share/ansible/collections/ansible_collections/redhat/rhv.
ovirt-ansible-collection
패키지의 구조는 다음과 같습니다./usr/share/ansible/collections/ansible_collections/redhat/rhv/usr/share/doc/ovirt-ansible-collection/
3.5.1.2. Automation Hub에서 oVirt Ansible 컬렉션 설치
Automation Hub는 oVirt Ansible Collection 을 설치하는 데 사용할 수 있는 새로운 곳입니다. 환경을 구성하려면 oVirt Ansible Collection 설명서의 지침을 따르십시오.
절차
컬렉션 설치
# ansible-galaxy collection install redhat.rhv
Automation Hub는 현재 RPM 종속성을 설치하지 않습니다. 플레이북을 실행하는 호스트에 이러한 패키지가 있는지 확인합니다.
-
python3-ovirt-engine-sdk4
-
python3-netaddr
-
python3-jmespath
-
python3-passlib
-
3.5.1.3. oVirt Ansible Collection을 사용하여 Red Hat Virtualization 구성
다음 절차에서는 oVirt Ansible Collection 을 사용하여 Red Hat Virtualization을 구성하는 플레이북을 생성 및 실행하는 방법을 안내합니다. 이 예제에서는 Ansible을 사용하여 로컬 시스템의 Manager에 연결하고 새 데이터 센터를 생성합니다.
사전 요구 사항
- 플레이북을 실행하는 시스템에 Python SDK가 설치되어 있는지 확인합니다.
절차
플레이북을 생성합니다.
- name: RHV infrastructure hosts: localhost connection: local gather_facts: false vars_files: # Contains variables to connect to the Manager - engine_vars.yml # Contains encrypted engine_password variable using ansible-vault - passwords.yml pre_tasks: # The use of redhat.rhv before ovirt_auth is to check if oVirt Ansible Collection is correctly loaded - name: Login to RHV redhat.rhv.ovirt_auth: hostname: "{{ engine_fqdn }}" username: "{{ engine_user }}" password: "{{ engine_password }}" ca_file: "{{ engine_cafile | default(omit) }}" insecure: "{{ engine_insecure | default(true) }}" tags: - always vars: data_center_name: mydatacenter data_center_description: mydatacenter data_center_local: false compatibility_version: 4.4 roles: - infra collections: - redhat.rhv post_tasks: - name: Logout from RHV ovirt_auth: state: absent ovirt_auth: "{{ ovirt_auth }}" tags: - always
oVirt Ansible Collection 에서 infra
Ansible 역할을 사용하여 mydatacenter라는 데이터 센터를 생성했습니다
.