ansible入れる

Oracle Cloud always free Advent Calendar 2019の7日目です。

 

今日は環境構築の要であるansibleを入れます。

〇前提 always free ComputeインスタンスOracle Linux 7.7

 

#Ansibleのインストール
#yumリポジトリの最新版2.8.4だと後日実施するoci-anbile-moduleと競合するのでひとつバージョン下げてインストール
[opc@docker ~]$sudo yum -y install ansible-2.7.9

 

#動作確認
#まずはansible操作対象ファイル(hosts)を作成する。54222はSSH接続ポート

[opc@docker ~]$ cat <<EOF > hosts
10.0.0.3:54222
10.0.0.5:54222
EOF

#ansibleコマンド実行 各ホストでuname -aを実行する --private-key には秘密鍵のパスを指定する
[opc@docker ~]$ ansible --private-key=id_rsa2 -i hosts -m shell -a "uname -a" all
10.0.0.3 | CHANGED | rc=0 >>
Linux docker 4.14.35-1902.6.6.el7uek.x86_64 #2 SMP Tue Oct 8 07:32:21 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux

10.0.0.5 | CHANGED | rc=0 >>
Linux ol77 4.14.35-1902.7.3.el7uek.x86_64 #2 SMP Thu Oct 31 10:06:41 PDT 2019 x86_64 x86_64 x86_64 GNU/Linux
Linux docker 4.14.35-1902.6.6.el7uek.x86_64 #2 SMP Tue Oct 8 07:32:21 PDT 2019 x86_64 x86_64 x86_64 GNU/Linx

 

 

<余談>
Oracle Linux7でanbileを導入するには、3パターンがあります。
a. python2のpipからインストール
b. python3.6のpipからインストール
c. yumからインストール

aに関しては、python2が2020年1月にサポート終了になるので、各種モジュールのメンテナンスがいつまで続くかわかりません。
bに関しては、現時点(2019年12月)では、以下の不具合がありうまく動きません。(かなりハマって断念)
https://github.com/pycontribs/selinux/issues/22
RHEL7.8では解消されるようなので、半年後は状況違うかもしれませんが。
現状、まともに使えてパッケージメンテナンスを受けられそうなのが、cのyumからのインストールとなります。