웹사이트 검색

Ansible AWX 가이드: 기본 사용법 및 구성


이 페이지에서

  1. 1단계 - 환경 설정 및 구성\n
  2. 2단계 - 자격 증명 설정
  3. 3단계 - 인벤토리 설정
  4. 4단계 - 프로젝트 설정\n
  5. 5단계 - 새 작업 템플릿 만들기\n
  6. 6단계 - 작업 템플릿 실행\n
  7. 7단계 - 대상 시스템 테스트
  8. 참조

AWX는 Ansible용 사용자 인터페이스, REST API 및 태스크 엔진을 제공하는 오픈 소스 웹 애플리케이션입니다. Ansible Tower의 오픈 소스 버전입니다. AWX를 사용하면 Ansible 플레이북, 인벤토리를 관리하고 웹 인터페이스를 사용하여 실행할 작업을 예약할 수 있습니다.

이 자습서에서는 Ansible AWX의 기본 사용법을 보여줍니다. 따라서 Ansible AWX가 이미 설치된 서버가 필요합니다. 설정 자격 증명, 인벤토리, 작업 템플릿 설정 및 실행 등과 같이 알아야 하는 Ansible AWX의 일부 기본 구성을 다룹니다. Ansible을 아직 설치하지 않은 경우 다음 자습서를 참조하세요. https://linux-console.net /how-to-install-ansible-awx-with-nginx-reverse-proxy-on-ubuntu-1804/.

전제 조건

  • 서버 2~3개
    • 10.5.5.20 ansible-awx
    • 10.5.5.21 램프\n

    우리가 할 일:

    1. 환경 설정 및 구성\n
    2. 자격 증명 설정
    3. 인벤토리 설정
    4. 설치 프로젝트\n
    5. 작업 템플릿 설정\n
    6. 작업 실행\n

    1단계 - 환경 설정 및 구성

    이 자습서에서는 Ansible AWX 대시보드를 고려한 기본 LEMP 설치를 위한 Ansible 플레이북을 배포하고 실행하려고 했습니다.

    awx 자체와 대상 시스템을 위한 두 개의 서버가 있습니다.

    10.5.5.20   ansible-awx
    10.5.5.21   lemp

    이제 hakase라는 사용자로 플레이북을 배포하고 키 기반 SSH 인증을 사용하려고 합니다. 따라서 대상 시스템 램프에서 사용자 및 키 기반 인증을 이미 설정했는지 확인하십시오.

    ansible-awx 서버에서 다음 명령을 사용하여 테스트합니다.

    su - hakase
    ssh

    비밀번호 없이 로그인했는지 확인하세요.

    이제 hakase 사용자는 작업을 실행하기 위해 암호가 없는 루트를 가지고 있어야 합니다.

    대상 머신 lemp에서 아래와 같이 sudo 명령을 실행합니다.

    su - hakase
    sudo su

    암호 없이 루트 권한을 입력했는지 확인하십시오.

    이제 Ansible에서 관리하는 모든 대상 머신에 Python 패키지를 설치해야 합니다.

    sudo apt install python -y

    2단계 - 자격 증명 설정

    먼저 Ansible AWX 자격 증명을 구성해야 합니다. 관리 서버에 대해 작업을 시작 및 실행하고 인벤토리 소스와 동기화하고 프로젝트를 가져올 때 인증에 사용됩니다.

    기본적으로 Ansible AWX는 SSH 인증, Amazon Web Services, Google Compute Engine, OpenStack, Vault 암호, 소스 제어 등을 통한 VM 시스템을 포함하여 많은 자격 증명을 지원합니다.

    자격 증명을 설정하려면 왼쪽의 Credentials 메뉴를 클릭하고 오른쪽의 + 버튼을 클릭합니다.

    이제 자격 증명 NAME 및 DESCRIPTION을 입력한 다음 CREDENTIAL TYPE을 Machine에 지정합니다.

    간단히 말해서 Machine 자격 증명을 사용하면 서버 관리를 위해 SSH 인증을 사용할 수 있습니다. 암호 및 키 기반 인증을 모두 지원합니다.

    이 가이드에서는 키 기반 인증을 사용합니다. 따라서 사용자 이름을 입력하고 해당 사용자의 개인 키를 붙여넣으십시오.

    그런 다음 SAVE 버튼을 클릭합니다.

    그 결과 새로운 Ansible AWX 자격 증명 유형 Machine이 생성되었습니다.

    3단계 - 인벤토리 설정

    인벤토리는 Ansible AWX에서 관리하는 호스트 서버 그룹입니다. 인벤토리를 사용하면 여러 호스트 서버가 있는 그룹을 만들 수 있습니다. 또한 환경이 다른 여러 서버를 더 쉽게 관리할 수 있습니다.

    서버를 관리하고 프로비저닝하려면 새 인벤토리 그룹을 만든 다음 해당 인벤토리 그룹에 서버 호스트를 추가해야 합니다.

    새 인벤토리를 추가하려면 왼쪽의 인벤토리 메뉴를 클릭한 다음 + 버튼을 클릭하고 인벤토리를 선택합니다.

    인벤토리의 이름과 설명을 입력한 다음 저장 버튼을 클릭합니다.

    이제 HOSTS 탭을 클릭하고 + 버튼을 클릭하여 새 호스트를 추가합니다.

    대상 시스템 IP 주소 ansible_host: 10.5.5.21에 대한 추가 구성과 함께 HOST NAME, DESCRIPTION 및 VARIABLES를 입력하십시오.

    이제 저장 버튼을 클릭하십시오.

    다음으로 ping 명령을 사용하여 호스트를 확인하여 호스트 구성을 확인해야 합니다.

    HOSTS 탭으로 돌아가 호스트 이름 서버를 선택하고 RUN COMMANDS 버튼을 클릭합니다.

    이제 ping이라는 모듈을 선택하고 MACHINE CREDENTIAL 내부의 검색 버튼을 클릭하고 원하는 것을 선택한 다음 LAUNCH 버튼을 클릭합니다.

    그러면 새 페이지로 리디렉션되며 그 결과는 아래와 같습니다.

    새 인벤토리가 생성되었고 대상 시스템 서버가 추가되었습니다.

    4단계 - 프로젝트 설정

    프로젝트는 AWX에서 Ansible 플레이북으로 표시됩니다. 로컬 프로젝트 디렉토리를 통해 또는 Git, Subversion, Mercurial 및 RedHat Insights와 같은 SCM 시스템을 사용하여 관리할 수 있는 Ansible 플레이북 모음입니다.

    새 프로젝트를 생성하려면 왼쪽의 프로젝트 메뉴를 클릭하고 + 버튼을 클릭합니다.

    프로젝트의 이름과 설명을 입력한 다음 Git에 대한 SCM 유형을 선택하고 플레이북 리포지토리를 붙여넣습니다.

    이제 SAVE 버튼을 클릭하면 플레이북에 대한 새 프로젝트가 생성됩니다.

    추가로:

    SCM 유형 수동으로 새 프로젝트를 생성하려는 경우 /var/lib/awx/projects 디렉토리 아래에 있는 새 playbooks 디렉토리를 생성할 수 있습니다.

    project_data_dir이 활성화된 AWX 도커 버전을 사용하는 경우 /var/lib/awx/projects 디렉토리는 Ansible 플레이북의 기본 프로젝트 디렉토리입니다.

    5단계 - 새 작업 템플릿 만들기

    작업 템플릿은 실행 중인 Ansible 플레이북 자체의 정의입니다. 따라서 새 작업 템플릿을 생성하거나 작업 템플릿을 실행하려면 프로젝트의 Ansible 플레이북, 인증을 위한 자격 증명 및 인벤토리에 저장된 대상 머신을 추가해야 합니다.

    이 가이드에서는 이미 새 프로젝트, 자격 증명 및 인벤토리를 만들었습니다. 따라서 왼쪽의 템플릿 메뉴를 클릭한 다음 + 버튼을 클릭하고 작업 템플릿 옵션을 선택합니다.

    이제 작업의 이름과 설명을 입력해야 합니다. 그런 다음 INVENTORY, CREDENTIAL 및 PROJECT를 선택합니다. 그런 다음 실행하고 배포하려는 PLAYBOOK을 지정합니다.

    그 결과 새로운 작업 템플릿 Ansible AWX가 생성되었습니다.

    6단계 - 작업 템플릿 실행

    새 작업 템플릿을 생성한 후 작업 템플릿을 실행하고 플레이북 프로젝트를 인벤토리의 대상 호스트에 배포합니다.

    왼쪽의 템플릿 메뉴를 클릭하면 사용 가능한 작업 템플릿 목록이 표시됩니다.

    작업이 완료되면 작업 템플릿 이름 안에 녹색 기호가 표시됩니다.

    작업 템플릿 이름 안의 녹색 기호를 클릭하면 해당 작업의 실제 결과가 표시됩니다.

    작업이 성공적으로 완료되었으며 대상 시스템이 Ansible AWX를 통해 LEMP 스택에 설치되었습니다.

    7단계 - 대상 머신 테스트

    대상 시스템의 도메인 이름을 테스트합니다. roles/web/vars/main.yml 구성에 저장된 도메인 이름 구성입니다.

    systemctl 명령을 사용하여 Nginx 및 PHP-FPM 서비스를 확인합니다.

    systemctl status nginx
    systemctl status php7.2-fpm

    대상 시스템에서 MySQL 데이터베이스를 테스트합니다. roles/db/vars/main.yml 구성 파일에 저장된 MySQL 데이터베이스의 세부 구성.

    결과적으로 LEMP 스택은 Ansible AWX를 통해 대상 시스템에 설치되었습니다.

    참조

    • https://docs.ansible.com/ansible-tower/latest/html/userguide/