웹사이트 검색

Debian 10에 Ansible AWX를 설치하는 방법


이 페이지에서

  1. 전제 조건
  2. 시작하기\n
  3. Ansible 설치
  4. Docker 및 Docker Compose 설치
  5. Node.js 및 NPM 설치
  6. AWX 설치
  7. Ansible AWX 액세스
  8. 결론

Ansible은 소프트웨어 프로비저닝, 구성 관리 및 애플리케이션 배포에 사용되는 오픈 소스 자동화 도구입니다. 이를 통해 여러 시스템에 자동으로 응용 프로그램을 설치, 구성 및 배포할 수 있습니다.

AWX는 Ansible 제어에 사용되는 웹 기반 애플리케이션입니다. AWX 웹 인터페이스에서 Ansible 플레이북, 인벤토리, 암호 및 예약된 작업을 관리할 수 있습니다.

특징

  • AWS, Azure, GCP 등 여러 클라우드 지원
  • 사용자 활동 추적\n
  • 효율성 및 보안 향상\n
  • 사용자 및 인증의 역할 기반 액세스 제어\n
  • 작업 예약
  • 통합 알림\n

이 게시물에서는 Debian 10 서버에 AWX를 설치하는 방법을 보여줍니다.

전제 조건

  • Debian 10을 실행하는 서버.\n
  • 루트 암호는 서버에 구성됩니다.\n

시작하기

먼저 다음 명령을 사용하여 모든 시스템 패키지를 최신 버전으로 업데이트합니다.

apt-get update -y

모든 패키지가 업데이트되면 다음 명령을 사용하여 다른 필수 패키지를 설치합니다.

apt-get install apt-transport-https ca-certificates software-properties-common unzip gnupg2 curl git -y

모든 패키지를 설치한 후 다음 단계로 진행할 수 있습니다.

앤서블 설치

다음으로 시스템에 Ansible을 설치해야 합니다. 기본적으로 최신 버전의 Ansible은 Debian 10 저장소에 포함되어 있지 않습니다. 따라서 APT에 Ansible 리포지토리를 추가해야 합니다. 다음 명령으로 추가할 수 있습니다.

echo "deb http://ppa.launchpad.net/ansible/ansible/ubuntu bionic main" | tee /etc/apt/sources.list.d/ansible.list

리포지토리가 추가되면 다음 명령을 사용하여 GPG 키를 추가합니다.

apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 93C4A3FD7BB9C367

그런 다음 리포지토리를 업데이트하고 다음 명령을 사용하여 최신 버전의 Ansible을 설치합니다.

apt-get update -y
apt-get install ansible -y

Ansible이 설치되면 다음 명령을 사용하여 설치된 Ansible 버전을 확인할 수 있습니다.

ansible --version

다음과 같은 결과가 표시되어야 합니다.

ansible 2.9.19
  config file = /etc/ansible/ansible.cfg
  configured module search path = [u'/root/.ansible/plugins/modules', u'/usr/share/ansible/plugins/modules']
  ansible python module location = /usr/lib/python2.7/dist-packages/ansible
  executable location = /usr/bin/ansible
  python version = 2.7.16 (default, Oct 10 2019, 22:02:15) [GCC 8.3.0]

이 시점에서 Ansible이 시스템에 설치됩니다. 이제 다음 단계를 진행할 수 있습니다.

Docker 및 Docker Compose 설치

다음으로 Docker 및 Docker Compose를 시스템에 설치해야 합니다. 기본적으로 최신 버전의 Docker는 Debian 10 기본 리포지토리에서 사용할 수 없습니다. 따라서 시스템에 Docker CE 리포지토리를 추가해야 합니다. 먼저 다음 명령을 사용하여 Docker 키와 리포지토리를 추가합니다.

curl -fsSL https://download.docker.com/linux/debian/gpg | apt-key add -
add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/debian $(lsb_release -cs) stable"

다음으로 리포지토리를 업데이트하고 다음 명령을 사용하여 Docker CE를 설치합니다.

apt-get update -y
apt-get install docker-ce -y

Docker가 설치되면 다음 명령을 사용하여 Docker 버전을 확인합니다.

docker --version

다음 출력이 표시되어야 합니다.

Docker version 20.10.5, build 55c4c88

다음으로 최신 버전의 Docker Compose를 시스템에 설치해야 합니다. 다음 명령을 사용하여 Docker Compose 바이너리를 다운로드할 수 있습니다.

curl -s https://api.github.com/repos/docker/compose/releases/latest | grep browser_download_url | grep docker-compose-Linux-x86_64 | cut -d '"' -f 4 | wget -qi -

다운로드가 완료되면 다음 명령을 사용하여 적절한 권한을 설정하십시오.

chmod +x docker-compose-Linux-x86_64

그런 다음 다음 명령을 사용하여 Docker Compose 바이너리를 시스템 경로로 이동합니다.

mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose

다음으로 다음 명령을 사용하여 Docker Compose 버전을 확인합니다.

docker-compose version

다음과 같은 결과가 표시되어야 합니다.

docker-compose version 1.28.5, build c4eb3a1f
docker-py version: 4.4.4
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l  10 Sep 2019

이 시점에서 Docker 및 Docker Compose가 시스템에 설치됩니다. 이제 다음 단계를 진행할 수 있습니다.

Node.js 및 NPM 설치

다음으로 시스템에 Node.js 및 NPM을 설치해야 합니다. 다음 명령을 사용하여 Node.js 및 NPM을 설치할 수 있습니다.

apt-get install nodejs npm -y
npm install npm --global

다음으로 다음 명령을 사용하여 다른 Python 종속 항목을 설치합니다.

apt-get install python3-pip git pwgen -y

다음으로 다음 명령을 사용하여 Docker Compose 버전과 일치하는 Docker Compose 모듈을 설치합니다.

pip3 install docker-compose==1.28.5

완료되면 다음 단계로 진행할 수 있습니다.

참고: 1.28.5가 시스템에 설치된 Docker Compose 버전과 일치하는지 확인하십시오.

AWX 설치

다음으로 시스템에 AWX를 설치해야 합니다. 먼저 다음 명령을 사용하여 Git Hub 리포지토리에서 AWX를 다운로드합니다.

wget https://github.com/ansible/awx/archive/17.1.0.zip

다운로드가 완료되면 다음 명령을 사용하여 다운로드한 파일의 압축을 풉니다.

unzip 17.1.0.zip

그런 다음 다음 명령을 사용하여 디렉터리를 설치 프로그램으로 변경합니다.

cd awx-17.1.0/installer/

그런 다음 다음 명령어를 실행하여 비밀 키를 생성합니다.

pwgen -N 1 -s 30

다음과 같은 결과가 표시되어야 합니다.

3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

다음으로 인벤토리 파일을 편집하고 관리자 사용자 이름, 암호 및 비밀 키를 정의합니다.

nano inventory

다음 줄을 변경합니다.

admin_user=admin
admin_password=securepassword
secret_key=3BgGA8MnM4gKTXV8r7vQhwjjNixO6o

완료되면 파일을 저장하고 닫은 후 다음 명령을 실행하여 AWX를 설치합니다.

ansible-playbook -i inventory install.yml

AWX가 성공적으로 설치되면 다음과 같은 결과가 표시됩니다.

changed: [localhost]

TASK [local_docker : Create Docker Compose Configuration] *************************************************************************************
changed: [localhost] => (item={u'mode': u'0600', u'file': u'environment.sh'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'credentials.py'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'docker-compose.yml'})
changed: [localhost] => (item={u'mode': u'0600', u'file': u'nginx.conf'})
changed: [localhost] => (item={u'mode': u'0664', u'file': u'redis.conf'})

TASK [local_docker : Render SECRET_KEY file] **************************************************************************************************
changed: [localhost]

TASK [local_docker : Remove AWX containers before migrating postgres so that the old postgres container does not get used] ********************
ok: [localhost]

TASK [local_docker : Run migrations in task container] ****************************************************************************************
changed: [localhost]

TASK [local_docker : Start the containers] ****************************************************************************************************
changed: [localhost]

TASK [local_docker : Update CA trust in awx_web container] ************************************************************************************
changed: [localhost]

TASK [local_docker : Update CA trust in awx_task container] ***********************************************************************************
changed: [localhost]

TASK [local_docker : Wait for launch script to create user] ***********************************************************************************
ok: [localhost]

TASK [local_docker : Create Preload data] *****************************************************************************************************
changed: [localhost]

PLAY RECAP ************************************************************************************************************************************
localhost                  : ok=21   changed=12   unreachable=0    failed=0    skipped=73   rescued=0    ignored=1   

이 시점에서 AWX가 시스템에 설치됩니다. 이제 계속해서 AWX 웹 UI에 액세스할 수 있습니다.

Ansible AWX에 액세스

이제 웹 브라우저를 열고 URL http://your-server-ip를 사용하여 Ansible AWX 웹 인터페이스에 액세스하십시오. AWX 로그인 페이지로 리디렉션됩니다.

관리자 사용자 이름, 암호를 제공하고 로그인 버튼을 클릭합니다. 다음 페이지에 Ansible AWX 대시보드가 표시되어야 합니다.

결론

축하합니다! Debian 10 서버에 Ansible AWX를 성공적으로 설치했습니다. 이제 AWX 대시보드에서 Ansible 플레이북, 인벤토리 및 작업을 쉽게 관리할 수 있습니다. 궁금한 점이 있으면 언제든지 문의해 주세요.