[备忘录] 在Ansible默默交流会(第3次)中使用的Ethapad #ansiblejp
Ansible自由自在会(第3次)
我们在2018年5月30日举行了第三次Ansible黑客大会。虽然发生了一些意外事件,但为了备忘录,我们打算将参与者提出的问题以及来自Red Hat员工和黑客大会导师的回答记录在文章中。
在当天的Ethapad上进行的提问和回答
Ansible Tower のインストールシナリオを実施する際、今のEC2のインスタンスにはHostnameが未定義のようなので、先に手で定義しても後のシナリオに影響ないでしょうか?
接続先が ansible_host で指定されていればホスト名は影響しないです。Tower のインストールは connection=local だから大丈夫
~/.ansible.cfg に inventory file が用意されています
Ansible Towerのインストールの際には、localhostを指定することになると思いますので、未定義でも
>いや何かSSH接続する際に間違ったホストに対して誤操作しそうで怖かったんです(プロンプトを変えたかっただけです)とりあえず変えずに続行します
ansibleでplaybookのバージョンや依存関係を管理することは出来るのでしょうか。(やりたいこと:chefのberksfileのようなイメージ)
ansible galaxy で role を別管理にして共有するとかでしょうか
ansible galaxyをつかえるといいなと考えているのですが、なかなかかゆいところに手が届くplaybookが見当たらないなと思っているので一部galaxyのplaybookも使いつつ自前で作成するpalybookも利用したいと考えています。ちなみにgalaxyのpalybookは業務でも利用されている方多いのでしょうか?
実際のところ、galaxy を使うのは不安なので参考にして自前で書くのが良いのではないかと。
使う場合は中身をちゃんと読み込んで使いましょう。
もしくは参考にして自分で書くとか。
なるほどです。ありがとうございます。playbookの依存関係は管理できたりするのでしょうか?
ここでいう”依存関係”というのは、どういったイメージでしょうか?ユースケースがあるとありがたいです 🙂
えっと、例えばphp7.1をインストールするplaybookのバージョンをgithub上で1.0として作ったとします。そのplaybookを別のplaybookから呼び出すような感じなのですが、わかりづらくてすみません、、、
role 単位で共有するのが先の galaxy で、複数のプロジェクトで使う role を別管理にしておいて取り込むようなことは可能ですが、playbook 実行時に勝手に取ってきてくれたりはしないですね、ある role の meta 情報に別の role への依存指定を書くことは可能ですが その role を playbook 内に持っている必要はあります
role の置き場所は複数箇所を指定することができます (roles_path を適切に設定する必要は
例えば、リリースバージョンごとにフォルダを分けて、実行時にroles_pathを指定して実行とかできたりしますか?
meta情報に書くのですね…ありがとうございます。meta情報に書くやり方はansible界隈な方ですとよくある感じでしょうかー?
ansible-galaxy install geerlingguy.apache,v1.0.0 のようにタグを打てますね (\url{http://docs.ansible.com/ansible/latest/reference\_appendices/galaxy.html#version)} roleを置いているリポジトリ側でリビジョンを分けるアプローチもありかと思います。このユースケース面白いですね。すごく現実的な話だと思います
おぉーー!!なるほど!そういうやりかたもあるのですね!ありがとうございます!現在、ansibleでrole書いたのですが、chefを知ってる上司からこんな使い方できないの?と聞かれており、ダメならchefで書き直せと言われそうな危機なのです・・・バージョンの話をしてみようと思います
ansibleだけでなく、他のツールとの組み合わせで解決する必要がありそうですね。ansible-galaxy コマンドに渡す *requirements.yml *にリビジョンを書くケースが多い気がします↓こんな感じで(\url{http://docs.ansible.com/ansible/latest/reference\_appendices/galaxy.html#installing-multiple-roles-from-a-file)}
– src: git+\url{http://bitbucket.org/willthames/git-ansible-galaxy}
version: v1.4ありがとうございます!!
これは、自前 galaxy サーバーもありかなという気になりますね、git でも良さそうですが(しかし、数十個の playbook でバージョン指定更新して回るとか辛い)
確かにそうですね、機能として出来れば文句言われないような気がしますww
git の branch を指定しておいて ansible-galaxy update 的なことってできるんでしょうか?ドキュメントに update コマンドは見つからない
ブランチのリビジョン番号をみて、更新されているようであれば、結果的にアップデートされるんじゃなかったかと思います(違っていたらごめんなさい)
リンク先のStep6の入力事項は何を記入すればよろしいでしょうか。
\url{https://github.com/ansible/lightbulb/tree/master/guides/ansible\_tower/1-install}
admin_password, pg_password, rabbitmq_password に任意のパスワードを設定してください
\url{https://github.com/ansible/lightbulb/tree/master/guides/ansible\_tower/2-config} のCreating a Credential内のUSERNAME、PASSWORD、配布された紙のansible_user、ansible_ssh_passでよいでしょうか。
USERNAME=配布した環境情報のansible_user, PASSWORD=red123hat
Webブラウザへを使ったTowerサーバーへのログイン時に使用するusernameとパスワードはどうすればよいでしょうか
usernameは”admin”、passwordはインストール時のinventory内のadmin_passwordに指定したパスワードです!
ansible tower のライセンス要求は時間がかかるでしょうか。
すぐ送られてくると思います(数分)
メール受信しました。
無事届いてよかったです! 😀
[control] ansible ansible_host=54.250.152.253 がansible tower設定中にダウンしたのでしょうか…
CoreOS にはどうやって Playbook を適用するんでしょうか?
CoreOSにはPythonの環境がないので、実行時にrawで直接Pythonの環境をセットアップします(たとえば/home/core/bin/pythonに)
\url{https://github.com/defunctzombie/ansible-coreos-bootstrap}
↑これですbootstrapでpythonインタプリタやpypyを無理やりインストールして管理下に置きますが、たぶんAnsibleよりもエレガントに管理するための別の方法をとるほうが筋が良いと思います。
Ansible Towerの評価版入手先
\url{https://www.ansible.com/license}
上のフォームが実案件ある方用フォームで、後日フォローのメールがありライセンスファイルを提供いたします
下のフォームが10ノードまで機能制限付きです(この辺が使えない→LDAP and Active Directory support, system tracking, audit trails and surveys.)
とりあえず触ってみたいかなという人は、ansible-jp@redhat.com もしくは ビジネス開発の中村宛(mnakamur@redhat.com)にご連絡
もしくは、AWX \url{https://github.com/ansible/awx} をご利用ください
意外事件与结束
根据下面的Ansible博主文章,我们原计划在当天晚上9点半之前准备好Ansible环境,但是总部的负责人犯了一个错误,导致实例在计划的时间20点之前就宕机了。对参加的各位造成了期望的落空,非常抱歉。
红帽公司举办了一场Ansible黑客马拉松活动,日期是2018年5月30日(周三)。
链接:https://qiita.com/tkmry/items/9cc046459aa0a145a7ad
因为我们计划以每月一次的频率继续进行,所以请提供反馈意见,今后也请多多关照。