Ansibleもくもく会(サーバ編)2019.03 in オイシックス・ラ・大地!に遠隔参加 #ansiblejp

03/26にこのイベントに遠隔参加してみました.遠隔枠がある!てことで申し込み.人気があるようで申込み時点ではギリギリ選外でしたがその後繰り上がりで参加できました.

構成管理ツールの1つである Ansible 及び Ansible Tower のもくもく会です.
遠隔枠では BlueJeans という会議システムを利用でしたがトラブルのためほぼなしで最後のLTの一部のみ聞けた感じでした.
教材となるドキュメント(Ansible を1から始める人でもok)を見ながら用意されたAWS 環境を利用して各自学習していき,質問等はGoogleDoc を共有してそこで質問するとメンターの方が答えてくれるという形でした.
会議システムがうまく行きませんでしたが,GoogleDocとメンターの方々のおかげで十分成り立つ感じでした.

興味がある方は教材は公開されているのでそれを利用して自習したり(要環境構築),04/20にもリモート枠のある(恐らく)同じイベントがあるので参加してみるといいかもしれません.

また,もくもく会ではありませんがこういうイベントも開催されるようです.
こちらもウェブ参加枠があるので可能なら参加してみようと思っています.

ここから自分のハマったところ

サーバのパスワードが短い単語1つだったのでログインして即変更したけど,認証にパスワード認証を使っていたのでansible が通信できなくなってしまった.

$ ansible control -m command -a "uptime" -o
ansible | UNREACHABLE!: Invalid/incorrect password: no such identity: /home/student4/.ssh/aws-private.pem: No such file or directory
Permission denied, please try again.

passwdコマンドで治そうと思ったけど弱いパスワードなので起こられて設定できない

BAD PASSWORD: The password is shorter than 8 characters

なので,

$ openssl passwd -6 -salt $(openssl rand -base64 6) PASS

として SHADOW を作り,sudo vipw -s で該当ユーザの第2フィールドを書き換えた.

Ansible Tower Exercise 3 の Step 4 の「ADD SURVEY」ボタンが見つからない

ライセンスを間違えていた.

Ansible Towerのインストール に載っている Ansible Tower License ではなく, Exercise 2 – Ansible Towerのコンフィグレーション Step2 に載っている Ansible Workshop License のライセンスと差し替えて利用可能になった.

前日に Ansible Tower の環境構築で何箇所か嵌った

以下のページに

ansible-tower setupメモ

「Ansibleもくもく会 (サーバ編)2019.03 in オイシックス・ラ・大地!」にリモート枠が!鹿児島からでも参加できそうと申し込みました.

参加するに当たってAWSの環境が用意されるようだけど手元の回線は不安定だし勉強会後のことも考えると手元にも環境を用意しておいたほうが良さそうということで以下のページを参考にセットアップしました.その時つまずいたときのメモです.

※Debian sid amd64 上のKVM 環境に CentOS7 x86_64 環境を用意してその中で設定しました. ansible-tower-setup のバージョンはlatest で 3.4.2-1 でした.

setup.sh の実行は tower ディレクトリの下で

Step2 で,setup.shを実行するとリポジトリが見つからずエラーとなる

$ sudo ./ansible-tower-setup-$VERSION.el7/setup.sh
https://releases.ansible.com/ansible-tower/rpm/dependencies//epel-7-x86_64/repodata/repomd.xml: [Errno 14] HTTPS Error 404 - Not Found

以下のあたりでバージョンを取得している

ansible-tower-setup-3.4.2-1/setup.sh:baseurl=$AW_REPO_URL/rpm/dependencies/$(grep version group_vars/all | grep -o ':digit:.:digit:')/epel-$1-x86_64

tower のディレクトリに降りて実行すればok

$ cd ansible-tower-setup-3.4.2-1
$ sudo ./setup

実行環境のRAM は4GB 以上に

RAM 512MBで setup.sh を実行するとエラー.RAMが足りないらしい.

TASK [preflight : Preflight check - Fail if this machine lacks sufficient RAM.] ***********************************************************************************************************************
fatal: [localhost]: FAILED! => {"changed": false, "msg": "This machine does not have sufficient RAM to run Ansible Tower."}
        to retry, use: --limit @/home/matoken/ansible-tower-setup-3.4.2-1/install.retry

システム要件を確認すると4GB のRAM が必要らしい

4 GB RAM minimum for Tower installations

なそ
にん

時間がないときは LIMITED FEATURES UP TO 10 NODES ライセンスを選択

ADD) もくもく会ではこれとは別のURLから Red Hat Ansible Tower, Standard (10 Managed Nodes) Trial を入手して利用した.以下の LIMITED FEATURES UP TO 10 NODES では最後のあたりで詰まる.(Exercise 3 の Step 4 で「ADD SURVEY」ボタンが出てこない)

ENTERPRISE FEATURES の場合人力みたい

An Ansible representative will be reaching out to you within one business day with your Ansible Tower enterprise features trial license key.

LIMITED FEATURES UP TO 10 NODES だとすぐにメールで届いた

You should receive an email shortly with your Ansible Tower Basic Edition trial license key.

試した環境

$ cat /etc/centos-release
CentOS Linux release 7.6.1810 (Core)
$ uname -m
x86_64