GNU/Linux >> Linux の 問題 >  >> Cent OS

CentOS7にAnsibleAWXをインストールする方法

前のチュートリアルでは、Dockerを介してAnsibleAWXをデプロイする方法を説明しました。その間に、AWX用のrpmパッケージをビルドする2つのプロジェクトを見つけました。そのため、このチュートリアルでは、CentOS7のRPMファイルからAnsibleAWXをインストールする方法を説明します。AnsibleAWXは、AnsibleTowerソフトウェアのオープンソースバージョンです。

CentOS7の最小インストールと許容モードのSELinuxで3台のサーバーを使用します。

  • 192.168.1.25AWXサーバー
  • 192.168.1.21クライアント1
  • 192.168.1.22 client2

AWXサーバーの最小システム要件

  • 少なくとも4GBのメモリ
  • 少なくとも2つのCPUコア
  • 少なくとも20GBのスペース
  • Docker、Openshift、またはKubernetesの実行

SELinux構成を確認してください。

 [[email protected]〜]#sestatusSELinux status:enabledSELinuxfs mount:/ sys / fs / selinuxSELinux root directory:/ etc / selinuxLoaded policy name:targetedCurrent mode:permissiveMode from config file:permissivePolicy MLS status:enabledPolicy deny_unknown status:allowedMaxカーネルポリシーバージョン:28 [[メール保護]〜]#

にホストエントリを追加します
 / etc / hosts 
 [[email protected]〜]#cat /etc/hosts192.168.1.25 awx.sunil.cc awx192.168.1.21 client1.sunil.cc client1192.168.1.22 client2.sunil.cc client2 [[email protected ]〜]#

ファイアウォールルールを追加する

 [[email protected]〜]#systemctl enable FirewalldCreated symlink from /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service to /usr/lib/systemd/system/firewalld.service.Created symlink from / etc / systemd / system / multi-user.target.wants / firewalld.service to/usr/lib/systemd/system/firewalld.service。[[emailprotected]〜]#systemctl start Firewalld [[email protected]〜]# Firewall-cmd --add-service =http --permanent; firewall-cmd --add-service =https --permanentsuccesssuccess [[email protected]〜]#systemctl restart Firewalld [[email protected]〜]#

CentOSEPELリポジトリを有効にします。

 [[email protected]〜]#yum install -y epel-release 

AWXのインストールにはpostgresql9.6が必要です。

postgreSQLリポジトリを有効にします。

 [[email protected]〜]#yum install -y https://download.postgresql.org/pub/repos/yum/9.6/redhat/rhel-7-x86_64/pgdg-centos96-9.6-3.noarch .rpm 

postgreSQLをインストールしています。

 [[email protected]〜]#yum install postgresql96-server -y 

その他の必要なrpmをインストールします。

 [[email protected]〜]#yum install -yrabbitmq-server wget memcached nginx ansible 

AnsibleAWXのインストール

AWXリポジトリを追加します。

 [[email protected]〜]#wget -O /etc/yum.repos.d/awx-rpm.repo https://copr.fedorainfracloud.org/coprs/mrmeee/awx/repo/epel-7/ mrmeee-awx-epel-7.repo 

rpmのインストール

 [[email protected]〜]#yum install -y awx 

データベースの初期化

 [[email protected]〜]#/usr/pgsql-9.6/bin/postgresql96-setup initdbInitializing database ... OK [[email protected]〜]#

Rabbitmqサービスの開始

 [[email protected]〜]#systemctl startrabbitmq-server [[emailprotected]〜]#systemctlenablerabbitmq-server/etc/systemd/system/multi-user.target.wants/rabbitmq-serverからsymlinkを作成しました。 /usr/lib/systemd/system/rabbitmq-server.serviceへのサービス。[[emailprotected]〜]#

PostgreSQLサービスの開始

 [[email protected]〜]#systemctl enablepostgresql-9.6/etc/systemd/system/multi-user.target.wants/postgresql-9.6.serviceから/usr/lib/systemd/system/postgresqlへのsymlinkを作成しました-9.6.service。[[emailprotected]〜]#systemctl start postgresql-9.6 

Memcachedサービスの開始

 [[email protected]〜]#systemctl enable memcachedCreated symlink from /etc/systemd/system/multi-user.target.wants/memcached.serviceto/usr/lib/systemd/system/memcached.service。[[メールで保護]〜]#systemctl start memcached 

Postgresユーザーの作成

 [[email protected]〜]#sudo -u postgres createuser -Sawxはディレクトリを「/root」に変更できませんでした:アクセスが拒否されました[[emailprotected]〜]#

エラーを無視する

データベースの作成

 [[email protected]〜]#sudo -u postgres createdb -O awxawxはディレクトリを「/root」に変更できませんでした:アクセスが拒否されました[[emailprotected]〜]#

エラーを無視する

データベースへのデータのインポート

 [[メール保護]〜]#sudo -u awx / opt / awx / bin/awx-管理移行

AWXの構成を初期化する

 [[email protected]〜]#echo "from django.contrib.auth.models import User; User.objects.create_superuser('admin'、'[email protected]'、'password')" | sudo -u awx / opt / awx / bin / awx-manage shell [[email protected]〜]#sudo -u awx / opt / awx / bin / awx-managecreate_preload_dataデフォルトの組織が追加されました。デモ資格情報、インベントリ、およびジョブテンプレートが追加されました。[[emailprotected]〜]#sudo -u awx / opt / awx / bin / awx-manageprovision_instance --hostname =$(hostname)正常に登録されたインスタンスawx.sunil.cc(changed:True)[[email protected] 〜]#sudo -u awx / opt / awx / bin / awx-manage register_queue --queuename =token --hostnames =$(hostname)インスタンスグループtowerの作成インスタンスawx.sunil.ccをtowerに追加(変更:True)[[メールで保護]〜]#

Nginxを構成する

nginx.confのバックアップを取る

 [[email protected]〜]#cd / etc / nginx / [[email protected] nginx]#pwd / etc / nginx [[email protected] nginx]#cp nginx.conf nginx.conf.bkp 
>

nginxconfファイルを置き換えます

 [[email protected] nginx]#wget -O /etc/nginx/nginx.conf https://raw.githubusercontent.com/sunilsankar/awx-build/master/nginx.conf 

nginxサービスを有効にして開始します

 [[email protected]〜]#systemctl start nginx [[email protected]〜]#systemctl enable nginx 

awxサービスを開始します

 [[email protected]〜]#systemctl start awx-cbreceiver [[email protected]〜]#systemctl start awx-celery-beat [[email protected]〜]#systemctl start awx-celery-worker [[email protected ]〜]#systemctl start awx-channels-worker [[email protected]〜]#systemctl start awx-daphne [[email protected]〜]#systemctl start awx-web 

再起動中にサービスが開始されていることを確認してください

 [[email protected]〜]#systemctl enable awx-cbreceiverCreated symlink from /etc/systemd/system/multi-user.target.wants/awx-cbreceiver.service to / usr / lib / systemd / system / awx- cbreceiver.service。[[emailprotected]〜]#systemctl enable awx-celery-beatCreated symlink from /etc/systemd/system/multi-user.target.wants/awx-celery-beat.service to / usr / lib / systemd /system/awx-celery-beat.service。[[emailprotected]〜]#systemctl enable awx-celery-workerCreated symlink from /etc/systemd/system/multi-user.target.wants/awx-celery-worker.service /usr/lib/systemd/system/awx-celery-worker.service。[[emailprotected]〜]#systemctl enable awx-channels-workerCreated symlink from /etc/systemd/system/multi-user.target.wants/ awx-channels-worker.serviceから/usr/lib/systemd/system/awx-channels-worker.service。[[emailprotected]〜]#systemctl enable awx-daphneCreated symlink from / etc / systemd / system / multi-user .target.wants /awx-daphne.serviceから/usr/lib/systemd/system/awx-daphne.service。[[メール保護]〜 ]#systemctl enable awx-webCreated symlink from /etc/systemd/system/multi-user.target.wants/awx-web.serviceto/usr/lib/systemd/system/awx-web.service。[[emailprotected] 〜]#

AWXサーバーからのパスワードなしのログインを構成します

3つのホストすべてにユーザーを作成します。

このチュートリアルでは、ユーザーを ansible作成しています。 3台のサーバーすべてで。

 [[email protected]〜]#useradd ansible [[email protected]〜]#useradd ansible [[email protected]〜]#useradd ansible 

awxサーバーでsshキーを生成する

 [[email protected] nginx]#su --ansible [[email protected]〜] $ ssh-keygen公開/秘密rsaキーペアを生成しています。キーを保存するファイルを入力してください(/home/ansible/.ssh/id_rsa ):作成されたディレクトリ'/home/ansible/.ssh'。パスフレーズを入力(パスフレーズがない場合は空):同じパスフレーズをもう一度入力:IDが/home/ansible/.ssh/id_rsaに保存されました。公開鍵が保存されました/home/ansible/.ssh/id_rsa.pubにあります。キーの指紋は次のとおりです。SHA256:RW / dhTsxcyGicleRI0LpLm + LyhAVinm0xktapodc8gY [メールで保護]キーのランダムアートイメージは次のとおりです:+ --- [RSA 2048] ---- + | 。 。 ..o。 + ooo || =o。 + .oo+*。o|| E@。 ..oo。+o*。||。 #o oo .. o || =*S。 || o。 。 。 || 。 o || o .o || o ..... | + ---- [SHA256] ----- + [[メール保護]〜] $ 

3つのサーバーすべてにsudoersエントリをファイルの最後のエントリとして追加する

 [[email protected] nginx]#visudoansible ALL =(ALL)NOPASSWD:ALL 

id_rsa.pubのコンテンツを3つのサーバーすべてのauthorized_keysにコピーします

<前> [[Eメール保護]の.ssh] $猫id_rsa.pubssh-RSA AAAAB3NzaC1yc2EAAAADAQABAAABAQDStB8JGsVsSLppwYWdnEPLE4xwFqRDn7xE / d3hjBQ6A0JGm1t + GtHB3GPIEjANFTnxQwHpR + cRttbL3mlQvpIYqCZOMZds9XA7VI5qgs0aSGUU8cNYKjmmrMpJa9sB4WVtj3M4u2fEXt9FKKCtjMMpOfiQxIkEhYZ + 2GoAX5sHXan7TPcgwb5r7WW6j43aaPc6g9XWN63nonQz6KeMSFZ / y0o2HJMh1FEkktZw6A1HVfn + JNWoQb1glyqGjO1ync + Sok8yXpqakEEWpXNQSQYs4eBEwfkKql5EuolQMIbF9VYhpEcR9LfbMvYdq / RPKWN3mmRMWfPZ2dTZl515XBdV [メール保護] [[Eメール保護]の.ssh] $ [[電子メールの保護]の.ssh] $猫authorized_keysssh-RSA AAAAB3NzaC1yc2EAAAADAQABAAABAQDStB8JGsVsSLppwYWdnEPLE4xwFqRDn7xE / d3hjBQ6A0JGm1t + GtHB3GPIEjANFTnxQwHpR + cRttbL3mlQvpIYqCZOMZds9XA7VI5qgs0aSGUU8cNYKjmmrMpJa9sB4WVtj3M4u2fEXt9FKKCtjMMpOfiQxIkEhYZ + 2GoAX5sHXan7TPcgwb5r7WW6j43aaPc6g9XWN63nonQz6KeMSFZ / y0o2HJMh1FEkktZw6A1HVfn + JNWoQb1glyqGjO1ync + Sok8yXpqakEEWpXNQSQYs4eBEwfkKql5EuolQMIbF9VYhpEcR9LfbMvYdq / RPKWN3mmRMWfPZ2dTZl515XBdV [メール保護] [[Eメール保護]の.ssh] $ chmodの600のauthorized_keys

Client1

 [[email protected]〜]#su --ansible [[email protected]〜] $ mkdir .ssh [[email protected]〜] $ chmod 700 .ssh [[email protected]〜] $ cat .ssh / authorized_keysssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDStB8JGsVsSLppwYWdnEPLE4xwFqRDn7xE / d3hjBQ6A0JGm1t + GtHB3GPIEjANFTnxQwHpR + cRttbL3mlQvpIYqCZOMZds9XA7VI5qgs0aSGUU8cNYKjmmrMpJa9sB4WVtj3M4u2fEXt9FKKCtjMMpOfiQxIkEhYZ + 2GoAX5sHXan7TPcgwb5r7WW6j43aaPc6g9XWN63nonQz6KeMSFZ / y0o2HJMh1FEkktZw6A1HVfn + JNWoQb1glyqGjO1ync + Sok8yXpqakEEWpXNQSQYs4eBEwfkKql5EuolQMIbF9VYhpEcR9LfbMvYdq / RPKWN3mmRMWfPZ2dTZl515XBdV [メール保護] [[Eメール保護]〜] $ chmodの600の.ssh / authorized_keysに

Client2

 [[email protected]〜]#su --ansible [[email protected]〜] $ mkdir .ssh [[email protected]〜] $ chmod 700 .ssh [[email protected]〜] $ cat .ssh / authorized_keysssh -rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQDStB8JGsVsSLppwYWdnEPLE4xwFqRDn7xE / d3hjBQ6A0JGm1t + GtHB3GPIEjANFTnxQwHpR + cRttbL3mlQvpIYqCZOMZds9XA7VI5qgs0aSGUU8cNYKjmmrMpJa9sB4WVtj3M4u2fEXt9FKKCtjMMpOfiQxIkEhYZ + 2GoAX5sHXan7TPcgwb5r7WW6j43aaPc6g9XWN63nonQz6KeMSFZ / y0o2HJMh1FEkktZw6A1HVfn + JNWoQb1glyqGjO1ync + Sok8yXpqakEEWpXNQSQYs4eBEwfkKql5EuolQMIbF9VYhpEcR9LfbMvYdq / RPKWN3mmRMWfPZ2dTZl515XBdV [メール保護] [[Eメール保護]〜] $ chmodの600の.ssh / authorized_keysに

AWXサーバーからのパスワードなしのログインを確認してください。

 [[email protected]〜] $ ssh client1Last login:Sun Mar 11 13:14:06 2018 from 192.168.1.25 [[email protected]〜] $ exitlogoutConnection to client1closed。[[emailprotected]〜] $ ssh client2Last login:Sun Mar 11 12:50:14 2018 from 192.168.1.25 [[email protected]〜] $ 

ログインを検証する:

ログインの詳細は次のとおりです。

ユーザー名: " admin "
パスワード:"パスワード "

次のチュートリアルでは、プレイブックを追加してジョブを実行する方法を示します。


Cent OS
  1. CentOS8LinuxにAnsibleをインストールする方法

  2. CentOS7にAnsibleをインストールする方法

  3. CentOS8にAnsibleをインストールする方法

  1. CentOS7にRをインストールする方法

  2. CentOS7にownCloudをインストールする方法

  3. CentOS7にDrupal8をインストールする方法

  1. CentOS7にシングルノードOpenStackをインストールする方法

  2. CentOS 7 /RHEL7にKolab16Groupwareサーバーをインストールする方法

  3. CentOS7.xにKatelloをインストールする方法