Ubuntu20.04にAnsibleAWX17.1.0をインストールする方法

AWXは、RedHatが後援するオープンソースのコミュニティプロジェクトです。 AnsibleTowerの開発環境として機能します。 AWXは頻繁にリリースされ、すべて新しい開発が行われます。

Ansible AWX Ansibleホスト、プレイブック、モジュール、ジョブスケジューリング、ワークフローの自動化、資格情報の共有、および委任を有効にするツールを管理するためのWebベースのユーザーインターフェイスを提供します。

このチュートリアルでは、 インストール 過程 Ansible AWX の上 Ubuntu 20.04

前提条件

  • ルートアクセス、または sudo SSH接続の特権。
  • Ubuntu20.04または18.04
  • 最小 4GBのRAM
  • 最小 2vcpus
  • 最小 20GB 無料のストレージスペース

Ansible AWXを正常に起動して実行するには、次のものもインストールする必要があります。

  • Ansible
  • DockerとDockerが構成します
  • ノードとNPM

1.Ubuntu20.04にAnsibleをインストールします

最初の更新システム

$ sudo apt update

Ansibleをインストールするには、次のように入力します。

$ sudo apt install ansible -y

インストールされているAnsibleのバージョンを確認するには、次のコマンドを実行します。

$ ansible --version

出力:

ansible 2.9.6
config file = /etc/ansible/ansible.cfg
configured module search path = ['/home/linoxide/.ansible/plugins/modules', '/usr/share/ansible/plugins/modules']
ansible python module location = /usr/lib/python3/dist-packages/ansible
executable location = /usr/bin/ansible
python version = 3.8.5 (default, Jan 27 2021, 15:41:15) [GCC 9.3.0]

メインの構成ファイルはに保存されます / etc / ansible / hosts ファイル。

2.DockerとDockerComposeをインストールします

Dockerのインストールと構成を正常に行うには、Ubuntu20.04にDockerをインストールする方法を参照してください。

Dockerのインストール後、バージョンを確認します。

$ docker version

出力:

Client: Docker Engine - Community
Version: 20.10.6
API version: 1.41
Go version: go1.13.15
Git commit: 370c289
Built: Fri Apr 9 22:47:17 2021
OS/Arch: linux/amd64
Context: default
Experimental: true
Server: Docker Engine - Community
Engine:
Version: 20.10.6
API version: 1.41 (minimum version 1.12)
Go version: go1.13.15
Git commit: 8728dd2
Built: Fri Apr 9 22:45:28 2021
OS/Arch: linux/amd64
Experimental: false
containerd:
Version: 1.4.4
GitCommit: 05f951a3781f4f2c1911b05e61c160e9c30eaa8e
runc:
Version: 1.0.0-rc93
GitCommit: 12644e614e25b05da6fd08a38ffa0cfe1903fdec
docker-init:
Version: 0.19.0
GitCommit: de40ad0

Docker Composeのインストールについては、Ubuntu20.04にDockerComposeをインストールする方法を参照してください。

Docker Composeのインストール後、バージョンを確認します。

$ docker-compose version

出力:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

3.ノードとNPMをインストールします

次に、Node.jsをインストールします

$ sudo apt install -y nodejs npm

また、NPMをインストールします

$ sudo npm install npm --global

4. Ubuntu20.04にAnsibleAWXをインストールします

以前のインストールを完了したら、AnsibleAWXをインストールします。

インストール docker-py python 次のコマンドを使用するモジュール:

$ sudo apt install python3-pip git pwgen vim

インストール リクエスト これにより、HTTP / 1.1リクエストを送信できます。

$ sudo pip3 install requests==2.22.0

また、DockerComposeがインストールされているバージョンと一致するPython用のdocker-composeモジュールが必要になります。

$ docker-compose version

出力:

docker-compose version 1.29.2, build 5becea4c
docker-py version: 5.0.0
CPython version: 3.7.10
OpenSSL version: OpenSSL 1.1.0l 10 Sep 2019

docker-composeバージョン(myは1.29.2)を確認し、次のコマンドでモジュールをインストールします。

$ sudo pip3 install docker-compose==1.29.2

pi-modulesをインストールした後、最新のAWXzipファイルをからダウンロードします。 GitHub 次のコマンドで。

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

ダウンロードしたディレクトリを解凍します。

$ unzip 17.1.0.zip

そして、ディレクトリをに変更します awx-17.1.0 /インストーラー/

$ cd awx-17.1.0/installer/

次のコマンドを使用して、秘密鍵を生成するか、AWXのランダムパスワードを生成します。

$ pwgen -N 1 -s 30

出力:

6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

次に、 在庫 ファイルを作成し、お気に入りのエディターで開きます。

$ sudo nano inventory

次の設定を維持するようにしてください。

注:交換してください 秘密鍵 生成したものを使用して:

dockerhub_base=ansible
awx_task_hostname=awx
awx_web_hostname=awxweb
postgres_data_dir=/tmp/pgdocker
host_port=80
host_port_ssl=443
docker_compose_dir=/tmp/awxcompose
pg_username=awx
pg_password=awxpass
pg_database=awx
pg_port=5432
admin_user=admin
admin_password=password
create_preload_data=True
secret_key=6YJ0TM4MsmpKIrNCqEVA1i4TAa3zbG

この構成を自分の構成と一致させたら、次のコマンドを使用してプレイブックを実行します。

$ ansible-playbook -i inventory install.yml

install.yml -プレイブックファイルの名前です

-私 インベントリファイルを使用するようにansibleに指示します

インストール出力:

ansible-playbook install.yml

タスクが失敗することなく、すべてがうまくいくことを確認します。

ansible-playbookのインストール後、Dockerコンテナーをチェックして、実行中のコンテナーのリストを取得します。

$ docker ps

出力:

Dockerコンテナリスト

ご覧のとおり、ansibleスクリプトは4つのdocker-containersを作成して起動します。

  • awx_task
  • awx_web
  • awx_redis
  • awx_postgres

私たちにとって最も重要です awx_web ポートで実行されている 80

Ansible AWXWeb-UIには次の方法でアクセスできます hostip また ホスト名 ポートで 80

AnsibleAWXログインページ

以前に定義された資格情報を使用してログインします 在庫 ファイル。

AnsibleAWXダッシュボード

ログイン後、メインダッシュボードが表示されます。 そこから、Ansible AWXの管理を開始し、ダッシュボードの概要を楽しむことができます。

結論

このチュートリアルでは、Dockerコンテナでansible-playbookを使用してUbuntu20.04にAnsibleAWXをインストールする方法を学びました。