smallpalace's blog

鯖缶主婦の日々の記録です

Ansibleもくもく会にいってきた20180301

こんにちは。smallpalaceです。

Ansibleを買収したRedhatさん主催ってことで推してるのは知ってたのでタイトルどおり行ってみました。ブログ枠じゃないと人気すぎて滑り込めないのかなと思ったのでそれで申し込んだら抽選当選しました。そんなわけでこの記事はブログ枠のノルマ消化として失礼します。

f:id:smallpalace:20180301215045j:plain

 

Ansible もくもく会 (第1回) - connpass

f:id:smallpalace:20180301190900j:plain

 

課題はこちら

Ansible Lightbulb

Ansible Projectの学習マテリアル
初めての方はGuide(ハンズオン)から始めるのがオススメです

lightbulb/guides/ansible_engine at master · ansible/lightbulb · GitHub


復習したい、課題を解いてみたい方にはWorkshopがオススメ

https://github.com/ansible/lightbulb/tree/master/workshops

Ansible Towerの使い方
lightbulb/guides/ansible_tower at master · ansible/lightbulb · GitHub

 

なんと環境が4台分用意されているということでリッチだなあと。まあ仮想マシンローカルに作るとこからだと準備に時間かかりますもんね。

課題の紹介をうけてTowerとWorkshopかなあと思いました。普通に仕事の続きをしようかとも思っていましたが。想定してないjinja2の質問しまくると感じ悪いのかなとかちょっと思いました。3年ちょっとchefつかってそれなりの規模のやつ自分で書いたことがあって夏くらいにansible本読んだり調べたりして社内のgitlabにハンズオンコンテンツ自作して広める活動してたりはしたので基本はもういいかなと。特殊なモジュール過ぎて環境の用意が困難とかjinja2バリバリすぎるとさすがに時間かかったりすると思いますが。

 軽食の類は特になしでしたがコーヒーサーバが無料で水もらいました。用意されてたハンズオンコンテンツ英語でしたがChromeが翻訳してくれました。

紹介されたハンズオンコンテンツ見る前にとりあえず鍵つくってssh-copy-idして/etc/hostsに配られてるIP書いて pingうつくらいしました。

 

[student01@ip-172-31-1-186 ~]$ ansible -m ping -i /etc/ansible/hosts node-2
node-2 | SUCCESS => {
"changed": false,
"ping": "pong"
}
[student01@ip-172-31-1-186 ~]$ ansible -m ping -i /etc/ansible/hosts node-3
node-3 | SUCCESS => {
"changed": false,
"ping": "pong"
}

 

 あとはTower入れてみたりなど。

slackで質問も可能でした。親切。slackワークスペースは後で消す運用な模様でした。

Towerといえばちょっと前にawxを入れたらコンテナで入ってしまいSSH接続どうやってやるんや意味が分からないよーとなってたんですが今回は普通のパッケージが入ってました。よかった。コンテナって運用が闇というかすぐ落ちるしサイジング難易度高いからステートフルなやつやらないほうがいいと思う次第でpostgresqlとか使われてるしパッケージでよかった。。

$ rpm -qa|grep tower
ansible-tower-venv-tower-3.2.3-1.el7.x86_64
ansible-tower-ui-3.2.3-1.el7.x86_64
ansible-tower-3.2.3-1.el7.x86_64
ansible-tower-venv-ansible-3.2.3-1.el7.x86_64
ansible-tower-server-3.2.3-1.el7.x86_64

インストールはcloneしてsetupのシェルたたくだけで勝手にプロビジョンされてた。

最初にライセンスきたら登録してSSH鍵を設定するとこからでした。この辺giltlabとかみたいな。クレデンシャルとか言われるとあれパブリッククラウドの鍵かなインスタンスから建てられるやつ?とか思って検索ボタンを押すと本当にそういう感じだった。ただし説明にあるのはMachineで普通にssh秘密鍵設定する感じ。なのでさっき作ったコントロールノードの鍵を設定しました。

f:id:smallpalace:20180301215000j:plain

lightbulb/guides/ansible_tower/2-config at master · ansible/lightbulb · GitHub

 そのあとは、プロジェクト作ってGitの指定して、インベントリを作っておいてコントロールノードからコマンド打って以下のように追加

$ sudo tower-manage inventory_import --source=/home/student01/lightbulb/lessons/lab_inventory/student01-instances.txt --inventory-name="test"
1.972 INFO Updating inventory 2: test
2.058 INFO Reading Ansible inventory source: /home/student01/lightbulb/lessons/lab_inventory/student01-instances.txt
3.021 INFO Processing JSON output...
3.021 INFO Loaded 2 groups, 4 hosts
3.024 INFO Inventory variables unmodified
3.032 INFO Group "control" added
3.037 INFO Group "web" added
3.047 INFO Host "ansible" added
3.052 INFO Host "node-1" added
3.056 INFO Host "node-2" added
3.061 INFO Host "node-3" added
3.073 INFO Host "ansible" added to group "control"
3.080 INFO Host "node-1" added to group "web"
3.080 INFO Host "node-2" added to group "web"
3.080 INFO Host "node-3" added to group "web"
3.162 INFO Inventory import completed for (test - 7) in 1.2s

画面でみてみると確かにホスト情報が取り込まれてました。

f:id:smallpalace:20180301214846p:plain

で、ジョブテンプレートをプロジェクトで指定したGitの中から勝手に表示されてるぽいのを選んで設定して、時間切れで発表のターンに。

CloudFormationとかと比較したりしてる人などいろいろ話が聞けて参考になりました。

RedhatさんにTower評価したいとメールを送るとライセンスファイルくれるそうです。ライセンス選択次第で無期限に10台まで使えるやつだとLDAPとかの認証機能とかサポートとかはないわよって感じだった。

 ブログ書くのでマグカップもらいました。かわいい♡ ありがとうございました!

というわけでTower普通につかいやすそうでした。

では。見ていただいてありがとうございました~:-)

 

 

 

Ansible実践ガイド 第2版 (impress top gear)

Ansible実践ガイド 第2版 (impress top gear)