[备忘录] 在第4次Ansible静默会议上使用的Ethapad #ansiblejp

安师比乐活聚会(第四届)

你好。我是中村,在Red Hat负责Ansible的业务开发。我们在2018年7月17日19点在Red Hat恵比寿办公室举办了第四次Ansible的学习会。我想将问答的内容记录下来,这样可以作为今后的知识积累,并可能包含一些对Ansible有帮助的信息。

我们原本准备了44个位置,但实际参加的人数包括远程参与在内只有29人。非常感谢。

Ansibleもくもく会提供了部署在Red Hat Tokyo和AWS上的Ansible环境,让大家可以按自己的节奏学习。此次我们还特别设立了远程参与的选项,方便东京周边难以前往恵比寿的人或者来自其他地方的参与者加入学习。因为预计所有远程注册的参与者都能参加,所以我们考虑以后可以适当增加名额。另外,由于先前在大阪举办的Ansible Night也有人要求在其他地方举办,我们正在策划中。

尽管成果共有LT枠的注册人数通常较低,但举个例子,可以以“今天我第一次接触Ansible,遇到了XXX问题。”这样简短轻松的一句话为内容。一般而言,LT表示演讲的形象,但由于这是轻量级的,所以对于过去4次未能参加的人来说,下次推荐给想要参加的人!

Ansiblemokumoku.png

请参阅博客职位的两篇文章!(非常感谢您的早期投稿!)初学者学习Ansible的学习小组网络版报告会。总结了Ansible学习小组的网络版报告会。

对话的提问交流

copyモジュール等で指定できるsrcなのですが、別のロールにあるファイルを指定することはできますでしょうか?(再度上げておきますw)

Towerでは制約(https://docs.ansible.com/ansible-tower/3.2.2/html_ja/administration/proot_func_variables.html )がある場合がありますが、通常のplaybookをansible-playbookコマンドから実行する場合は、相対パスでも絶対パスでも指定可能です。(なおした!)

質問2:Ansible ワークショップの演習にて”web”というホストグループがinventory.iniに定義されているようであることを確認したのですが、/etc/ansible/hostsにも同じような(webはないですが)書き方をした定義っぽいのがあるのですが、hostは使われないということでしょうか?(ありがとうございます。 なんか前の質問が消えている気がするのですが、もしかして私が消しました?)

ansible.cfgは優先順位があります。今回の環境では~/.ansible.cfg にある inventory が使われています。
ansible-playbook コマンドで -i にて指定して頂く Inventory に web というホストグループがあれば、/etc/ansible/hosts よりも優先されます。優先順位は カレントディレクトリの ansible.cfg → ~/.ansible.cfg → /etc/ansible/ansible.cfg です。
最も優先度の高いansible.cfgファイルのみが有効になるので注意してください。このとき優先度の低いansible.cfgの設定内容は反映されません。
はやい!!

設定ファイルのtypoでplaybookの実行に失敗した場合って、同じように再実行すればよいのでしょうか?

はい基本、修正頂いて問題ないです。
ありがとうございますー!site.retryに再実行するホストが書かれるのですね。
基本的にべき等性が担保されているモジュール(shellやcommandモジュールなどを除く)であれば、何度再実行しても問題ないです 🙂

*.retryファイルが邪魔な場合は、ansible.cfgの設定値を変更することで、作成しないor別の場所に作成することができます。

RETRY_FILES_ENABLED、RETRY_FILES_SAVE_PATH

EtherPadの更新歴履歴は見れますか?

はい、右上の時計のマークをクリックすると過去に遡るスライドが出ます。デグレったときにお使いください。

日本語資料の演習1.3(http://jp-redhat.com/ansible-workshop/exercise1.3.html)で「setupというtaskが」とあるが実際は「Gathering Facts」というログが出ます。なにか違う?また、これは何をしているタスク?

同じです。ファクトという、対象ノードのホスト名、NIC情報、リソース情報などのシステム構成情報を取得するタスクです。取得した情報は特別は変数に格納され、利用することができます。不要であれば、時間短縮のため、「gather_facts: false」や「gather_facts: no」にしておきます。
# ansible -m setup localhost でどんな情報を拾ってきているかが見れますよ 🙂

towerのインストールの途中でignoreされたエラーがあったのですが、ご愛嬌でしょうか?

TASK [migrations : Check Tower version for supervisor configuration] ************************
fatal: [localhost]: FAILED! => {“changed”: false, “cmd”: “cat /var/lib/awx/.tower_version”, “delta”: “0:00:00.003020”, “end”: “2018-07-17 07:02:47.390258”, “msg”: “non-zero return code”, “rc”: 1, “start”: “2018-07-17 07:02:47.387238”, “stderr”: “cat: /var/lib/awx/.tower_version: No such file or directory”, “stderr_lines”: [“cat: /var/lib/awx/.tower_version: No such file or directory”], “stdout”: “”, “stdout_lines”: []}
…ignoring

新規インストールなので supervisor のmigration が skipされたはずです。fatalであっても先に進んで最後にfailedがなければ基本大丈夫なはずですです。
failedになるtaskも何個か出てきますが、だいたいignoringになっていると思います。最終的に成功していれば大丈夫です(たぶん)
ww
なんとなくわかりました

Ansible TowerをButton一つでログインができるようになる、Ansible Buttonを持ってきました。興味がある方は是非。

Machine CredentialのPrivate Key Passphraseがハイライトされる件は、UIのバグのようです(秘密鍵を設定せずに、Passphraseのみを設定すると、これを削除しても保存することができません)。upstreamにissue登録されています(https://github.com/ansible/awx/issues/1518 )。後ほど確認してみます(大佐が)。ご協力ありがとうございます 🙂

確認してみます 🙂

ansible_engine の guide の Exercise 3 (https://github.com/ansible/lightbulb/tree/master/guides/ansible_engine/3-variables) のPlaybookで、ときどき{% raw %}{% endraw %}が出てきますが、これはPlaybookには記載しなくていいもの、であってますでしょうか?

それは jinja2 の変数をhtml上で変数展開せずに出すときに使うのですが、Web上の表記はおそらく誤記なので無視してOKです。前回、同じ所でつまづいたので

ありがとうございます!(メンターなのに質問しちゃいました 🙂 )

演習1.3にてプレイブック実行すると「fatal: [node-1]: UNREACHABLE! => {“changed”: false, “msg”: “Failed to connect to the host via ssh: ssh: Could not resolve hostname <52.221.200.160>: Name or service not known\r\n”, “unreachable”: true}」と3ノードともssh接続に失敗してしまいます。sshコマンドにて上記IPを指定すると接続できるのです…
解決しました。hostsにansible_host=<52.221.200.160>と書いていました…。

自分で作ったPlaybookをAnsible Towerに登録するやり方を教えてください。

① /var/lib/awx/projects/ 配下にディレクトリを作成 ※OSユーザawxがアクセスできるように
② ①で作成したディレクトリにPlaybookをコピー ※OSユーザawxがアクセスできるように
③ Tower の Project で 「SCM Type」=手動(Manual)で 「Playbookディレクトリー」に①のディレクトリを登録
④ ジョブテンプレートのProjectで③で作成したやつを指定、Playbookの一覧に②でコピーしたPlaybookが出てくるはずです。(ここでリストアップされるには Playbook のヘッダに hosts: セクションを含んでいる必要があります)
ご自身で作ったPlaybookをGitなどに登録して、Ansible TowerのProjectを作成して先に作ったGitレポジトリを指定することでも可能です。
Privateなrepoの場合は、Source control credentialを作ってProjectに割り当ててください 🙂

Ansible Tower についてはこのスライドも参考になるかも +1

vimを使っている方は :set paste しておくとコピペする時にインテンドずれなくなって幸せになれるかもです。

おすすめ書籍は?

Ansible実践ガイド 第2版 (https://book.impress.co.jp/books/1117101100)
Ansible徹底入門 (https://www.shoeisha.co.jp/book/detail/9784798149943)

おすすめブログは?

https://tekunabe.hatenablog.jp/

ご紹介ありがとうございます (^^) ネットワークモジュールを中心に攻めています。

Home

觉得的心情 or 对此的感觉

在途中过程中,有9位参与者回答了调查问卷。他们中有许多人提出了想要尝试网络相关的内容的意见。

アンケート経過.png

此外,我们还有一些参与者选择了导师角色,并为活动的成功做出了重要贡献。感谢他们以极快的速度并利用上一次的经验来支持我们,让我们感觉好像根本不需要Red Hat员工一样。我们正在考虑制作专门为导师准备的贴纸。

请注意,以下答案为我生成的机器翻译,可能不准确。对于中国的中国人,请提供您自己的翻译版本。

这次我们已经有一些人第一次接触Ansible。未来,我们希望为大家提供一个可以自由请求关于使用Ansible的资源的学习机会,所以我们想要在社区中开设这样一个场所。为了实现这个目标,我们非常需要像导师一样能够提供帮助和支持的人的合作,所以请继续支持我们。

广告
将在 10 秒后关闭
bannerAds