Red Hatは、Ansibleを使用してリモートノードを集中管理するための2つのGUIツールを提供しています。
- Ansible Tower
- AWX
Ansible Towerは、Ansible用のWebベースのインターフェースおよびRESTAPIエンドポイントです。一元化されたロギングと監査、役割ベースのアクセス制御、およびプッシュボタン展開を提供します。
AWXは、Ansible Towerに基づく自動化ユーティリティであり、Webグラフィカルインターフェイス、REST API、およびユーザーがAnsibleプロジェクトを管理できるようにするタスクエンジンを提供します。 。言い換えれば、AWXはAnisbleTowerのオープンソースバージョンです。 AWXを使用すると、在庫管理を含む多くのタスクを実行できます。 、ワークフローの自動化 、ジョブスケジューリング 、クレデンシャルの管理 およびレポート ほんの数例を挙げると。
AWXの利点の1つは、AnsibleTowerに付属しているすべてのエンタープライズ機能を無制限の数のノードで利用できることです。つまり、10ノードの制限はAWXには適用されません。さらに、AWXはラボまたは開発環境に最適です。ただし、 Ansible Tower と比較すると、本番環境に最適なツールとは見なされていません。 。
AWXが機能するには、コンテナ化された環境が必要です。 AWXをサポートするオプションには、 Kubernetesがあります。 、 OpenShift およびDocker構成 。ただし、このガイドでは、セットアップが非常に簡単でリソースに優しいため、Dockercomposeを使用します。
AnsibleAWXの要件
始める前に、CentOS8ノードに次のものがあることを確認してください。
- 4GBのRAM
- 2コアの3.4GHzCPU
- 20GBのハードディスク容量
- CentOS 8は、Openshift、Docker、またはKubernetesを実行している必要があります
- Ansibleはすでにインストールされている必要があります
すべての要件が満たされたら、ボールを転がしてみましょう!
ステップ1)CentOS8にEPELをインストールする
CentOS 8ノードにEPELをインストールすることから始めます。これは、AWXに必要な典型的なパッケージの一部を提供するためです。したがって、rootユーザーとしてCentOS 8ノードにログインし、次のコマンドを実行します。
[[email protected] ~]# dnf install epel-release -y
ステップ2)追加のパッケージと依存関係をインストールする
さらに、追加の手順を実行して、AWXのインストールに合わせて必要となる重要なパッケージをインストールする必要があります。
[[email protected] ~]# dnf install git gcc gcc-c++ nodejs gettext device-mapper-persistent-data lvm2 bzip2 python3-pip
サンプル出力
ステップ3)CentOS8にDockerCEをインストールする
RedHat / CentOSはdockerの直接インストールをサポートしなくなったため、dnf install docker-ceを実行すると、エラーが発生します。 CentOS 8にdockerをインストールするには、dnfconfig-managerツールを使用してDockerリポジトリをシステムに追加する必要があります。
[[email protected] ~]# dnf config-manager --add-repo=https://download.docker.com/linux/centos/docker-ce.repo
次のステップは、Dockerをインストールし、次のコマンドを実行することです。
[[email protected] ~]# dnf install docker-ce-3:18.09.1-3.el7
次に、次のコマンドを実行して、インストールしたDockerの正確なバージョンを確認します。
[[email protected] ~]# rpm -qa | grep docker or [[email protected] ~]# docker --version
次に、コマンドを使用してdockerを起動して有効にします
[[email protected] ~]# systemctl start docker [[email protected] ~]# systemctl enable --now docker.service
dockerをインストールしたら、Dockercomposeのインストールに進むことができます。
注: 次のコマンドを実行して、python3を使用するようにpythonコマンドを設定します。CentOS8およびRHEL8では、ansibleをインストールするときに依存関係としてpython3がインストールされるためです
[[email protected] ~]# alternatives --set python /usr/bin/python3
ステップ4)Docker-ComposeをCentOS8にインストールする
docker-composeのインストールには、pipコマンドを使用します。 Pipは、PythonパッケージをインストールできるPythonのパッケージマネージャーです。
システムはpython3を使用して実行されているため、インストールするにはpip3を使用します
[[email protected] ~]# pip3 install docker-compose
素晴らしい!これで、AWXのインストールに進むことができます。
ステップ5)AnsibleAWXをインストールする
AWXをインストールするには、最初に次のようにGitリポジトリのクローンを作成します。
[[email protected] ~]# git clone https://github.com/ansible/awx.git
次に、awx / installerディレクトリに移動して、インベントリファイルを見つけます。いくつかのパラメータを調整する必要があります:
注: デフォルトのPythonインタープリターをpython3に設定することを忘れないでください
[[email protected] ~]# cd awx/installer/ [[email protected] installer]# vi inventory localhost ansible_connection=local ansible_python_interpreter="/usr/bin/env python3" postgres_data_dir=/var/lib/pgdocker awx_official=true project_data_dir=/var/lib/awx/projects awx_alternate_dns_servers="4.2.2.1,4.2.2.2"
同様に重要なのは、AdminとPostgresのパスワードを設定する必要があることです
[email protected] [email protected]
その後、インベントリファイルを暗号化するための暗号化キーを必ず生成してください
[[email protected] ~]# openssl rand -base64 30
秘密鍵をコピーして、インベントリファイルの次のようにsecret_keyエントリに追加します。
secret_key=SGYsSWciI5yRDQeZuEm5wW98pQeJMG+ACABPsGfC
インベントリファイルを保存して終了します。
加えられた変更を確認して印刷するには、次のコマンドを実行します。
[[email protected] installer]# grep -v '^#' inventory | grep -v '^$'
AWXをインストールするには、Ansibleコマンドを実行します:
[[email protected] installer]# ansible-playbook -i inventory install.yml
Dockerが必要なコンテナを実行してコンテナを構築するのに約4〜5分かかります。リラックスして、お茶をお楽しみください。以下の出力は、すべてが完全にうまくいったことの確認になります。
インストールが完了したら、docker-compose
を介して起動されたコンテナーを確認できます。[[email protected] installer]# docker ps
OSファイアウォールが有効で実行されている場合は、次のコマンドを使用してhttpポート(80)とhttps(443)を許可します。
[[email protected] installer]# firewall-cmd --zone=public --add-masquerade --permanent [[email protected] installer]# firewall-cmd --permanent --add-service=http [[email protected] installer]# firewall-cmd --permanent --add-service=https [[email protected] installer]# firewall-cmd --reload
ステップ5)AWXGUIポータルへのアクセス
AWX Webコンソールにアクセスするには、ブラウザを開き、AnsibleのAWXサーバーIPを入力して、Enterキーを押します。
http:// awx-server-ip-address
管理者のユーザー名とパスワードを入力し、Enterキーを押します。その後、次のようにAWXのダッシュボードが表示されます。
これが、Docker-composeを使用してAWXをCentOS8サーバーにインストールする方法です。